Data transmission method and device, equipment and storage medium

By carrying the addresses of multiple relay servers in the data packets of decentralized social applications, and implementing hash string comparison and timer management in the SDAP entity of terminals and network devices, the problem of resource waste when users send data is solved, and efficient data aggregation and transmission is achieved.

CN120018069APending Publication Date: 2025-05-16CHINA MOBILE COMM LTD RES INST +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311518978.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-11-14
Publication Date
2025-05-16

AI Technical Summary

Technical Problem

Under the architecture of decentralized social applications, users need to build a large number of data packets with different addresses when sending data, resulting in a waste of valuable uplink wireless air interface resources.

Method used

By carrying the addresses of multiple relay servers in the data packets and implementing hash string comparison and timer management in the SDAP entity of the terminal and network device, SDAP PDUs are generated and parsed to achieve aggregation and transmission of the same data.

Benefits of technology

It reduces the consumption of uplink wireless air interface resources, realizes the aggregation and transmission of the same data, and is suitable for future decentralized social applications and data transmission of similar scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120018069A_ABST
    Figure CN120018069A_ABST
Patent Text Reader

Abstract

The invention discloses a data transmission method and device, equipment and a storage medium. The method comprises the following steps: a network interconnection protocol (IP) entity of the terminal generates a first message; the first message carries addresses of a plurality of relay servers used for receiving data carried by the first message; the IP entity of the terminal sends the first message to a service data adaptation protocol (SDAP) entity of the terminal; the SDAP entity of the terminal generates an SDAP protocol data unit (PDU) based on the first message; and sending the SDAP PDU to a network device, so that the network device forwards data corresponding to the first message to the plurality of relay servers by using the addresses of the plurality of relay servers.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of wireless communication technology, and in particular to a data transmission method, apparatus, device and storage medium. Background Art

[0002] At present, with the rise of the third-generation Internet wave, various decentralized social applications have been born. The decentralized social application architecture includes two roles: client and relay server. When the user corresponding to the client sends data, it needs to send the data to a group of relay servers through the wireless network. If the addresses of the relay servers are different, it is necessary to construct corresponding data packets for each relay server address, that is, it is necessary to construct a large number of data packets to send the same data, which will consume a lot of valuable uplink wireless air interface resources, thereby bringing huge pressure to the wireless network. Summary of the invention

[0003] In view of this, embodiments of the present application hope to provide a data transmission method, apparatus, device and storage medium.

[0004] The technical solution of the embodiment of the present application is implemented as follows:

[0005] The present invention provides a data transmission method, which is applied to a terminal. The method includes:

[0006] The Internet Protocol (IP) entity of the terminal generates a first message; the first message carries addresses of multiple relay servers for receiving data carried by the first message;

[0007] The IP entity of the terminal sends the first message to a Service Data Adaptation Protocol (SDAP) entity of the terminal;

[0008] The SDAP entity of the terminal generates an SDAP protocol data unit (PDU) based on the first message; and sends the SDAP PDU to a network device so that the network device forwards data corresponding to the first message to the multiple relay servers using the addresses of the multiple relay servers.

[0009] In addition, according to at least one embodiment of the present application, the method further includes:

[0010] The IP entity of the terminal adds a first field to the first message, and adds an extended header to the header of the first message;

[0011] The first field carries the first character string, which is obtained by performing a hash operation on the data carried by the first message; and the extended header carries the addresses of the multiple relay servers.

[0012] In addition, according to at least one embodiment of the present application, the SDAP entity of the terminal generates an SDAP PDU based on the first message, including:

[0013] The SDAP entity of the terminal determines whether the data carried by the first message is data repeatedly sent to the network device;

[0014] When determining that the data carried by the first message is data repeatedly sent to the network device, the SDAP entity of the terminal generates an SDAPPDU based on information in a header of the first message.

[0015] In addition, according to at least one embodiment of the present application, the SDAP entity of the terminal determines whether the data carried by the first message is data repeatedly sent to the network device, including:

[0016] The SDAP entity of the terminal compares the first character string carried by the first message with a second character string stored locally to obtain a comparison result; the second character string represents a character string corresponding to the data sent to the network device;

[0017] The SDAP entity of the terminal determines that the data carried by the first message is data repeatedly sent to the network device when the comparison result indicates that the first character string carried by the first message is the same as the second character string stored locally.

[0018] In addition, according to at least one embodiment of the present application, the method further includes:

[0019] When the comparison result indicates that the first string carried by the first message is different from the second string stored locally, the SDAP entity of the terminal determines that the data carried by the first message is not data repeatedly sent to the network device, generates an SDAP PDU based on the information in the header of the first message and the data carried by the first message, and stores the first string carried by the first message locally.

[0020] In addition, according to at least one embodiment of the present application, the method further includes:

[0021] After the SDAP entity of the terminal stores the first character string carried by the first message locally, starting a first timer;

[0022] After the first timer reaches a preset time, the SDAP entity of the terminal deletes the character string stored in a time period from the time when the first timer is started to the preset time.

[0023] At least one embodiment of the present application provides a data transmission method, which is applied to a network device, and the method includes:

[0024] The SDAP entity of the network device receives the SDAP PDU sent by the terminal;

[0025] Among them, the SDAP PDU is generated by the SDAP entity of the terminal based on the first message sent by the IP entity of the terminal; the first message is generated by the IP entity of the terminal; the first message carries the addresses of multiple relay servers for receiving the data carried by the first message; the SDAP PDU is used by the network device to forward the data carried by the first message to the multiple relay servers using the addresses of the multiple relay servers.

[0026] In addition, according to at least one embodiment of the present application, the method further includes:

[0027] The SDAP entity of the network device parses the SDAP PDU to obtain the first message;

[0028] The SDAP entity of the network device generates a plurality of second messages using the first message; and sends the plurality of second messages to the plurality of relay servers accordingly.

[0029] In addition, according to at least one embodiment of the present application, the SDAP entity of the network device generates multiple second messages using the first message, including:

[0030] The SDAP entity of the network device parses the first message to obtain a first string, and compares the first string carried by the first message with a third string stored locally to obtain a comparison result; the third string represents a string corresponding to the data sent to the multiple relay servers;

[0031] When the comparison result indicates that the first string carried by the first message is the same as the third string stored locally, the SDAP entity of the network device determines that the data corresponding to the third string not stored locally is the same as the data corresponding to the first string, and generates multiple second messages based on the data corresponding to the third string and the addresses of multiple relay servers carried by the first message.

[0032] In addition, according to at least one embodiment of the present application, the method further includes:

[0033] When the comparison result indicates that the first string carried by the first message is different from the third string stored locally, the data corresponding to the third string not stored locally is different from the data corresponding to the first string. Based on the data carried by the first message and the addresses of multiple relay servers carried by the first message, the SDAP entity of the network device generates multiple second messages and stores the first string carried by the first message locally.

[0034] In addition, according to at least one embodiment of the present application, the method further includes:

[0035] After the SDAP entity of the network device stores the first character string carried by the first message locally, it starts a second timer;

[0036] After the second timer reaches a preset time, the SDAP entity of the network device deletes the character string stored in a time period from the time when the second timer is started to the preset time.

[0037] At least one embodiment of the present application provides a data transmission device, including:

[0038] An IP entity module, configured to generate a first message; the first message carries addresses of multiple relay servers for receiving data carried by the first message; and sends the first message to an SDAP entity of a terminal;

[0039] The first SDAP entity module is used to generate an SDAP PDU based on the first message; and send the SDAP PDU to a network device, so that the network device forwards data corresponding to the first message to the multiple relay servers using the addresses of the multiple relay servers.

[0040] At least one embodiment of the present application provides a data transmission device, including:

[0041] The second SDAP entity module is used to receive the SDAP PDU sent by the terminal; wherein the SDAP PDU is generated by the SDAP entity of the terminal based on the first message sent by the IP entity of the terminal; the first message is generated by the IP entity of the terminal; the first message carries the addresses of multiple relay servers for receiving the data carried by the first message; the SDAP PDU is used by the network device to forward the data carried by the first message to the multiple relay servers using the addresses of the multiple relay servers.

[0042] At least one embodiment of the present application provides a terminal, including a processor and a memory for storing a computer program that can be run on the processor.

[0043] Wherein, when the processor is used to run the computer program, it executes the steps of any of the methods described above on the terminal side.

[0044] At least one embodiment of the present application provides a network device, including a processor and a memory for storing a computer program that can be run on the processor.

[0045] Wherein, when the processor is used to run the computer program, it executes the steps of any one of the methods described above on the network device side.

[0046] The data transmission method, apparatus, device and storage medium provided in the embodiments of the present application include: the IP entity of the terminal generates a first message; the first message carries the addresses of multiple relay servers for receiving the data carried by the first message; the IP entity of the terminal sends the first message to the SDAP entity of the terminal; the SDAP entity of the terminal generates an SDAP PDU based on the first message; the SDAP PDU is sent to a network device, so that the network device forwards the data corresponding to the first message to the multiple relay servers using the addresses of the multiple relay servers. The technical solution provided in the embodiments of the present application is adopted, facing the future decentralized social application business scenarios, when the user sends information, pictures, voice and other data, the addresses of multiple relay servers for receiving the data are carried in the first message, so that the converged transmission of the same data can be realized, and there is no need to construct a large number of IP data messages to send the same data, thereby saving precious uplink air interface resources. Moreover, it is applicable to all services with similar scenarios and architectures for data transmission. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] Figure 1 It is a schematic diagram of the architecture of the client and relay server under the decentralized business in the related technology;

[0048] Figure 2 This is a schematic diagram of the implementation process of the data transmission method of the embodiment of the present application. Figure 1 ;

[0049] Figure 3 This is a schematic diagram of the implementation process of the data transmission method of the embodiment of the present application. Figure 2 ;

[0050] Figure 4 It is a schematic diagram of a specific implementation flow of the data transmission method according to an embodiment of the present application;

[0051] Figure 5 It is a schematic diagram of an IP entity and an SDAP entity of a terminal in an embodiment of the present application;

[0052] Figure 6The structure diagram of the data transmission device in the embodiment of the present application is shown in FIG. Figure 1 ;

[0053] Figure 7 The structure diagram of the data transmission device in the embodiment of the present application is shown in FIG. Figure 2 ;

[0054] Figure 8 It is a schematic diagram of the composition structure of the terminal in the embodiment of the present application;

[0055] Fig. 9 It is a schematic diagram of the composition structure of the network device of the embodiment of the present application. DETAILED DESCRIPTION

[0056] Before introducing the technical solutions of the embodiments of the present application, the related technologies are first introduced.

[0057] At present, after the rise of the third-generation Internet (Web3) wave, various decentralized social applications have been born, such as the decentralized social application Damus. Under the decentralized social application Damus architecture, there are only two roles: client and relay server. Each user runs a client, and each user has two keys: public key and private key. The public key can be regarded as a username or account, and the private key can be regarded as a password. When posting information (Post), the user signs the image and text with his own private key and then sends it to multiple relay servers. There are any number of relay servers, and everyone can run a relay server. Its mission is to receive and store the information reported by the client and forward it to others and return local query results based on the client's request. The client then verifies the authenticity of the information obtained with the help of its public key, and the signature is verified by the client. The user client (client) does not interact with other user clients; and there is no information exchange between relay servers (Relay). In general, decentralized social applications belong to a strong client and weak server (Relay) structure. Each Relay provides different functions. Users belong to different groups, and the Relays they include are also different. Users can add or delete the Relays they want to connect to at any time. Most Relays are free, and a few Relays that provide additional services require paid subscriptions.

[0058] See also Figure 1 , Figure 1 It is a schematic diagram of the architecture of the client and relay server under the decentralized business in the related technology.

[0059] Before transmitting application layer service data, the terminal needs to initiate the PDU session establishment process. The PDU session resource establishment process is used to allocate corresponding resources for one or more PDU sessions and corresponding quality of service (QoS) flows of the user equipment (UE), and establish corresponding data radio bearers (DRBs). A PDU session may contain one or more QoS flows. NG-RAN establishes one or more DRBs for each PDU session, and associates and maps the QoS flows with the DRBs according to certain rules.

[0060] In the solutions currently used in the existing network, a PDU session for data services and a PDU session for audio and video services such as the IP Multimedia Subsystem (IMS) are usually configured for terminal users. Each terminal usually maintains two PDU sessions, and all data services use the same PDU session.

[0061] For the decentralized social application Damus, its functions and scenarios are similar to Weibo, and both are high-frequency services used by users. When each user sends information, he needs to send the information to a group of relay servers (Relays) through the 6G wireless network. The IP addresses (destination addresses) of these relay servers are different, so a large number of IP data packets need to be constructed to send the same data, which will consume a lot of valuable uplink wireless air interface resources and bring huge pressure to the wireless network.

[0062] Table 1 is a schematic diagram of the format of an IP datagram, Table 2 is a schematic diagram of the address of relay server 1, and Table 3 is a schematic diagram of the address of relay server 2. As shown in Tables 2 and 3, when a user sends the same information, the user needs to send the information to a group of relay servers (Relays) through a wireless network, such as relay server 1 (Relay1) and relay server 2 (Relay2). The IP addresses (destination addresses) of these relay servers are different, so different IP datagrams need to be constructed to send the same data, which will consume valuable uplink wireless air interface resources.

[0063] Table 1

[0064]

[0065] Table 2

[0066]

[0067] Table 3

[0068]

[0069] Based on this, in an embodiment of the present application, the IP entity of the terminal generates a first message; the first message carries addresses of multiple relay servers for receiving data carried by the first message; the IP entity of the terminal sends the first message to the SDAP entity of the terminal; the SDAP entity of the terminal generates an SDAPPDU based on the first message; and the SDAP PDU is sent to a network device, so that the network device uses the addresses of the multiple relay servers to forward the data corresponding to the first message to the multiple relay servers.

[0070] See also Figure 2 , Figure 2 Schematic diagram of the implementation flow of the data transmission method of the embodiment of the present application, which is applied to a terminal, such as Figure 2 As shown, the method includes steps 201 to 203:

[0071] Step 201: The IP entity of the terminal generates a first message; the first message carries addresses of multiple relay servers for receiving data carried by the first message.

[0072] As an example, the terminal may refer to a client in a decentralized social application architecture.

[0073] As an example, the first message may be a data message, such as an Internet Protocol Version 6 (IPv6) data message.

[0074] As an example, the address of the relay server may refer to the IP address of the relay server.

[0075] In some embodiments, the method further comprises:

[0076] The IP entity of the terminal adds a first field to the first message, and adds an extended header to the header of the first message;

[0077] in,

[0078] The first field carries the first character string, which is obtained by performing a hash operation on the data carried by the first message; the extended header carries the addresses of the multiple relay servers.

[0079] Table 4 is a schematic diagram of the first field. As shown in Table 4, the first field is represented by the "Flow Label" area. The "Flow Label" area is originally used to mark a series of data packets of real-time audio or video. Data packets of the same flow have the same flow label. If the router is not required to do special processing, the value of this field is set to 0, which is generally generated by a pseudo-random algorithm and is between 1 and FFFFF.

[0080] Table 4

[0081]

[0082] It should be noted that the same user data is formed into the first string through the hash algorithm and then filled into the first field, namely the "Flow Label" area, in order to allow other protocol modules and network elements, such as SDAP layer entities, to recognize that the same user data is carried in the IPv6 datagram. The advantage of carrying the hash algorithm in this way is that the same user data in the IPv6 datagram can be identified without adding additional overhead. At the same time, because it is difficult to find the reverse rule of the hash algorithm, filling the first string in the IPv6 datagram header will not expose the user data content.

[0083] Table 5 is a schematic diagram of a message header, and Tables 6 and 7 are schematic diagrams of a newly added extended header. As shown in Table 6, a new extended header, namely, the next header (Next Header), is added to the IPv6 data message, and the field value 62 represents SDAP. As shown in Table 7, the addresses of multiple relay servers used to receive data carried by the IPv6 data message are filled in the extended header of the IPv6 data message, and the addresses of the multiple relay servers are represented by Relay address 1 (128 bits), Relay address 2 (128 bits), and Relay address n (128 bits), respectively.

[0084] Table 5

[0085]

[0086] Table 6

[0087]

[0088]

[0089] Table 7

[0090]

[0091] It should be noted that the newly defined extended header of the IPv6 data message is used to fill multiple relay addresses of the same data into the extended header for aggregate transmission, and to prompt the SDAP entity to aggregate the same user data.

[0092] It should be noted that IP messages with different relay server addresses but the same data are unified as a first message and sent out, which can save precious uplink air interface resources.

[0093] Step 202: The IP entity of the terminal sends the first message to the SDAP entity of the terminal.

[0094] Step 203: The SDAP entity of the terminal generates an SDAP PDU based on the first message; and sends the SDAP PDU to a network device, so that the network device forwards data corresponding to the first message to the multiple relay servers using the addresses of the multiple relay servers.

[0095] In some embodiments, the SDAP entity of the terminal generates an SDAP PDU based on the first message, including:

[0096] The SDAP entity of the terminal determines whether the data carried by the first message is data repeatedly sent to the network device;

[0097] When determining that the data carried by the first message is data repeatedly sent to the network device, the SDAP entity of the terminal generates an SDAPPDU based on information in a header of the first message.

[0098] As an example, the information in the header of the first message may refer to the information in the header including the extended header, but excluding user data.

[0099] It should be noted that the SDAP entity on the terminal side adds a new judgment process, does not send the same user data repeatedly, and only sends the necessary extended header of the first message. The current IP data message and SDAP PDU format are reused to the maximum extent, and the SDAP PDU format is not changed, thereby increasing compatibility.

[0100] In some embodiments, the first message further carries a first character string corresponding to the data carried by the first message;

[0101] The SDAP entity of the terminal determines whether the data carried by the first message is data repeatedly sent to the network device, including:

[0102] The SDAP entity of the terminal compares the first character string carried by the first message with a second character string stored locally to obtain a comparison result; the second character string represents a character string corresponding to the data sent to the network device;

[0103] The SDAP entity of the terminal determines that the data carried by the first message is data repeatedly sent to the network device when the comparison result indicates that the first character string carried by the first message is the same as the second character string stored locally.

[0104] In some embodiments, the method further comprises:

[0105] When the comparison result indicates that the first string carried by the first message is different from the second string stored locally, the SDAP entity of the terminal determines that the data carried by the first message is not data repeatedly sent to the network device, generates an SDAP PDU based on the information in the header of the first message and the data carried by the first message, and stores the first string carried by the first message locally.

[0106] As an example, the header of the first message includes the extended header.

[0107] In some embodiments, the method further comprises:

[0108] After the SDAP entity of the terminal stores the first character string carried by the first message locally, starting a first timer;

[0109] After the first timer reaches a preset time, the SDAP entity of the terminal deletes the character string stored in a time period from the time when the first timer is started to the preset time.

[0110] In the embodiment of the present application, the following advantages are possessed:

[0111] (1) For future decentralized social application business scenarios, when users send information, pictures, voice and other data, the addresses of multiple relay servers used to receive the data are carried in the first message. In this way, the same data can be aggregated and transmitted without the need to construct a large number of IP data messages to send the same data, thereby saving precious uplink air interface resources. Moreover, it is applicable to all services with similar scenarios and architectures for data transmission.

[0112] (2) The header structure of the first message is redefined.

[0113] Specifically, a first field is added to the first message, the first field carries the first string, and the first string is obtained by performing a hash operation on the data carried by the first message. An extended header is added to the header of the first message, the extended header carries the addresses of the multiple relay servers.

[0114] (3) New SDAP functions of the terminal.

[0115] The SDAP module of the terminal compares the first string carried by the first message with the second string stored locally. If the first string carried by the first message is the same as the second string stored locally, the first message carrying the same user data is identified, and then the SDAP PDU is generated only based on the header of the first message (including the extended header), thereby realizing the converged transmission of the same data to reduce the air interface load and resource waste.

[0116] The SDAP module on the Radio Access Network (RAN) side restores the original IPv6 data message and continues to send it to the corresponding multiple relay servers.

[0117] See also Figure 3 , Figure 3 Schematic diagram of the implementation flow of the data transmission method of the embodiment of the present application, which is applied to network equipment, such as Figure 3 As shown, the method comprises step 301:

[0118] Step 301: The SDAP entity of the network device receives the SDAP PDU sent by the terminal;

[0119] Among them, the SDAP PDU is generated by the SDAP entity of the terminal based on the first message sent by the IP entity of the terminal; the first message is generated by the IP entity of the terminal; the first message carries the addresses of multiple relay servers for receiving the data carried by the first message; the SDAP PDU is used by the network device to forward the data carried by the first message to the multiple relay servers using the addresses of the multiple relay servers.

[0120] In some embodiments, the method further comprises:

[0121] The SDAP entity of the network device parses the SDAP PDU to obtain the first message;

[0122] The SDAP entity of the network device generates a plurality of second messages using the first message; and sends the plurality of second messages to the plurality of relay servers accordingly.

[0123] In some embodiments, the SDAP entity of the network device generates a plurality of second messages using the first message, including:

[0124] The SDAP entity of the network device parses the first message to obtain a first string, and compares the first string carried by the first message with a third string stored locally to obtain a comparison result; the third string represents a string corresponding to the data sent to the multiple relay servers;

[0125] When the comparison result indicates that the first string carried by the first message is the same as the third string stored locally, the SDAP entity of the network device determines that the data corresponding to the third string not stored locally is the same as the data corresponding to the first string, and generates multiple second messages based on the data corresponding to the third string and the addresses of multiple relay servers carried by the first message.

[0126] As an example, the first character string is obtained by performing a hash operation on the data carried by the first message.

[0127] As an example, for each relay server among the multiple relay servers, the address of the corresponding relay server and the data corresponding to the third character string are used to construct a second message, and finally multiple second messages are obtained.

[0128] In some embodiments, the method further comprises:

[0129] When the comparison result indicates that the first string carried by the first message is different from the third string stored locally, the data corresponding to the third string not stored locally is different from the data corresponding to the first string. Based on the data carried by the first message and the addresses of multiple relay servers carried by the first message, the SDAP entity of the network device generates multiple second messages and stores the first string carried by the first message locally.

[0130] As an example, for each relay server among the multiple relay servers, the address of the corresponding relay server and the data carried in the first message are used to construct a second message, and finally multiple second messages are obtained.

[0131] In some embodiments, the method further comprises:

[0132] After the SDAP entity of the network device stores the first character string carried by the first message locally, it starts a second timer;

[0133] After the second timer reaches a preset time, the SDAP entity of the network device deletes the character string stored in a time period from the time when the second timer is started to the preset time.

[0134] In the embodiment of the present application, the following advantages are possessed:

[0135] (1) For future decentralized social application business scenarios, when users send information, pictures, voice and other data, the addresses of multiple relay servers used to receive the data are carried in the first message. In this way, the same data can be aggregated and transmitted without the need to construct a large number of IP data messages to send the same data, thereby saving precious uplink air interface resources. Moreover, it is applicable to all services with similar scenarios and architectures for data transmission.

[0136] (2) The header structure of the first message is redefined.

[0137] Specifically, a first field is added to the first message, the first field carries the first string, and the first string is obtained by performing a hash operation on the data carried by the first message. An extended header is added to the header of the first message, the extended header carries the addresses of the multiple relay servers.

[0138] (3) New SDAP functions of the terminal.

[0139] The SDAP module of the terminal compares the first string carried by the first message with the second string stored locally. If the first string carried by the first message is the same as the second string stored locally, the first message carrying the same user data is identified, and then the SDAP PDU is generated only based on the header of the first message (including the extended header), thereby realizing the converged transmission of the same data to reduce the air interface load and resource waste.

[0140] The SDAP module on the RAN side restores the original IPv6 data message and continues to send it to the corresponding multiple relay servers.

[0141] See also Figure 4 , Figure 4 : is a schematic diagram of a specific implementation flow of the data transmission method according to an embodiment of the present application. Figure 4 As shown, the method includes steps 401 to 404:

[0142] Step 401: The IP entity of the terminal generates an IPv6 data message.

[0143] Here, the IPv6 data packet carries a first character string corresponding to the data carried by the IPv6 data packet and addresses of multiple relay servers for receiving the data carried by the IPv6 data packet.

[0144] Here, the IP entity of the terminal constructs an IPv6 data message. When a message needs to be sent externally, the IP entity in the network layer protocol module constructs the IPv6 data message according to the following steps.

[0145] Step 1: Perform a hash operation on the user message to be sent, i.e., user data, according to a hash algorithm to obtain a first string, assuming it is a 20-bit string. Then, fill the string obtained by the hash operation into the first field in the IPv6 datagram header.

[0146] Step 2, construct an extended header of the IPv6 data message, and fill the addresses of multiple relay servers used to receive data carried by the IPv6 data message into the extended header of the IPv6 data message, namely, the "Next Header (Next Hdr)" area.

[0147] Here, a new extension header of the IPv6 data message is defined to fill multiple relay addresses of the same data into the extension header for aggregation and transmission, and to prompt the SDAP entity of the terminal to aggregate the same user data.

[0148] Here, through a series of processes, IPv6 data packets with different relay server addresses but the same data are unified into a first packet and sent out, which can save precious uplink air interface resources.

[0149] Step 402: The IP entity of the terminal sends the IPv6 data message to the SDAP entity of the terminal.

[0150] Step 403: The SDAP entity of the terminal generates an SDAP PDU based on the IPv6 data message, and sends the SDAP PDU to the network device.

[0151] See also Figure 5 , Figure 5 Schematic diagram of the IP entity and SDAP entity of the terminal in the embodiment of the present application. Figure 5 As shown, after the IP v6 data message is delivered to the data link layer, the IP flow (Flow) and the quality of service (QoS) flow (Flow) are successively mapped to the data radio bearer (DRB) at the SDAP layer.

[0152] Here, after the SDAP entity of the terminal receives the IPv6 data message sent by the IP entity, it reads the extended header of the IPv6 data message, namely the "next header" area, and after finding that the value is "62", the newly added processing flow is as follows:

[0153] Step 1, read the first field of the IPv6 data message, namely the "stream label" field, and compare the first character string in the first field with the second character string in the local cache. If the first character string in the first field is different from the second character string in the local cache, indicating that the data carried by the IPv6 message is not data repeatedly sent to the network device, then the first character string is stored in the cache, and the SDAP entity of the terminal constructs an SDAP PDU (uplink data PDU) based on the information in the header of the IPv6 data message and the data carried by the IPv6 data message, and sends it to the network device, and starts the timer Ts.

[0154] Step 2: If the first string in the first field is the same as the second string in the local cache, the SDAP entity of the terminal only constructs an SDAP PDU (uplink data PDU) with the IPv6 data header (including the extension header) and sends it to the network device. The IPv6 data header (including the extension header) does not include user data.

[0155] Step 3: After the timer Ts times out, the SDAP entity of the terminal clears the first character string corresponding to the timer in the local cache.

[0156] Table 8 is an illustration of the transmission of different IPv6 message headers of users in the SDAP PDU when the SDAP PDU has no data packet header, and Table 9 is an illustration of the transmission of different IPv6 message headers of users in the SDAP PDU when the SDAP PDU has a data packet header.

[0157] Table 8

[0158] IPv6 datagram header (including extension header) …… IPv6 datagram header (including extension header)

[0159] Table 9

[0160]

[0161] It should be noted that the SDAP entity on the terminal side adds a new judgment process, does not send the same user data repeatedly, only sends the necessary IPv6 header, does not change the SDAP PDU format, and increases compatibility.

[0162] Step 404: The SDAP entity of the network device receives the SDAP PDU sent by the terminal, parses the SDAPPDU to obtain an IPv6 data message; generates multiple second messages using the IPv6 data message; and sends the multiple second messages to the multiple relay servers accordingly.

[0163] Here, when the SDAP entity on the RAN side receives the SDAP PDU, it parses the IPv6 datagram according to the normal process, and finds that the value of the extended header of the IPv6 datagram, that is, the "next header" area, is "62". The new processing flow is as follows:

[0164] Step 1, read the first field carried by the IPv6 data message, namely the "stream label" field, and compare the hash string carried by the field, namely the first string, with the third string in the local cache. If the first string carried by the first field is different from the third string stored locally, it indicates that the data corresponding to the third string not stored locally is different from the data corresponding to the first string. Then read the addresses of multiple relay servers in the IPv6 data message, and construct a second message with the address of each relay server and the data carried by the IPv6 data message, and finally obtain multiple second messages. Send the multiple messages to multiple relay servers accordingly, store the first string in the cache, and start the timer Tr.

[0165] Here, the IPv6 data packet corresponding to the third string in the read cache can also be used as the original IPv6 data packet, and the n relay server (Relay) addresses in the extended header of the current IPv6 data packet can be read one by one as the destination address, and the destination addresses in the original IPv6 data packet can be replaced respectively. The data carried by the current IPv6 data packet can replace the data of the original IPv6 data packet respectively, and n IPv6 data packets, i.e., n second packets, are respectively constructed and sent to the corresponding n relay servers. The newly constructed IPv6 data packet does not contain the relevant extended header.

[0166] Step 2, read the first field carried by the IPv6 data message, namely the "stream label" field, and compare the hash string stored in the field, namely the first string, with the third string in the local cache. If the first string carried by the first field is the same as the third string stored locally, it indicates that the data corresponding to the third string stored locally is the same as the data corresponding to the first string. Then read the addresses of multiple relay servers in the IPv6 data message, and construct a second message with the address of each relay server and the data corresponding to the third string. Finally, multiple second messages are obtained, and the multiple messages are sent to multiple relay servers accordingly.

[0167] Here, the IPv6 data packet corresponding to the third character string in the read cache can also be used as the original IPv6 data packet, and the destination address of the relay server carried by the IPv6 data packet header corresponding to the third character string and the n relay server (Relay) addresses carried in the extended header of the current IPv6 data packet can be combined together as the destination address to replace the destination address in the original IPv6 data packet, and n+1 IPv6 data packets are constructed and sent to the corresponding n+1 relay servers respectively; the newly constructed IPv6 data packet does not contain the relevant extended header.

[0168] Step 3: After the timer Tr times out, clear the first character string and IPv6 data message corresponding to the timer in the local cache.

[0169] It should be noted that, through a series of processes on the RAN side, the SDAP entity of the network device restores the SDAP PDU aggregated and sent by the terminal into an IPv6 data message sent to different relay server (Relay) addresses and performs the next transmission.

[0170] In order to implement the data transmission method of the embodiment of the present application, the embodiment of the present application also provides a data transmission device, which is arranged in a terminal. Figure 6 Schematic diagram of the structure of the data transmission device according to the embodiment of the present application. Figure 6 As shown, the device comprises:

[0171] The IP entity module 61 is used to generate a first message; the first message carries addresses of multiple relay servers for receiving data carried by the first message; and sends the first message to the SDAP entity of the terminal;

[0172] The first SDAP entity module 62 is configured to generate an SDAP PDU based on the first message; and send the SDAP PDU to a network device, so that the network device forwards data corresponding to the first message to the multiple relay servers using the addresses of the multiple relay servers.

[0173] In some embodiments, the IP entity module 61 is used to:

[0174] Adding a first field to the first message, and adding an extended header to the header of the first message;

[0175] The first field carries the first character string, which is obtained by performing a hash operation on the data carried by the first message; and the extended header carries the addresses of the multiple relay servers.

[0176] In some embodiments, the first SDAP entity module 62 is used to:

[0177] Determining whether the data carried by the first message is data repeatedly sent to the network device;

[0178] When determining that the data carried by the first message is data repeatedly sent to the network device, the SDAP entity of the terminal generates an SDAPPDU based on information in a header of the first message.

[0179] In some embodiments, the first SDAP entity module 62 is used to:

[0180] Compare the first string carried by the first message with the second string stored locally to obtain a comparison result; the second string represents a string corresponding to the data sent to the network device;

[0181] When the comparison result indicates that the first character string carried by the first message is identical to the second character string stored locally, it is determined that the data carried by the first message is data repeatedly sent to the network device.

[0182] In some embodiments, the first SDAP entity module 62 is further configured to:

[0183] When the comparison result indicates that the first string carried by the first message is different from the second string stored locally, it is determined that the data carried by the first message is not data repeatedly sent to the network device, an SDAP PDU is generated based on the information in the header of the first message and the data carried by the first message, and the first string carried by the first message is stored locally.

[0184] In some embodiments, the first SDAP entity module 62 is further configured to:

[0185] After the first character string carried by the first message is stored locally, a first timer is started; after the first timer reaches a preset time, the character string stored in the time period from the time when the first timer is started to the preset time is deleted.

[0186] In actual application, the IP entity module 61 and the first SDAP entity module 62 can be implemented by a processor in a data transmission device.

[0187] It should be noted that: the data transmission device provided in the above embodiment only uses the division of the above program modules as an example when performing data transmission. In actual applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above. In addition, the data transmission device provided in the above embodiment and the data transmission method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.

[0188] In order to implement the data transmission method of the embodiment of the present application, the embodiment of the present application also provides a data transmission device, which is arranged on the network equipment. Figure 7 Schematic diagram of the structure of the data transmission device according to the embodiment of the present application. Figure 7 As shown, the device comprises:

[0189] The second SDAP entity module 71 is used to receive the SDAP PDU sent by the terminal; wherein the SDAP PDU is generated by the SDAP entity of the terminal based on the first message sent by the IP entity of the terminal; the first message is generated by the IP entity of the terminal; the first message carries the addresses of multiple relay servers for receiving the data carried by the first message; the SDAP PDU is used by the network device to forward the data carried by the first message to the multiple relay servers using the addresses of the multiple relay servers.

[0190] In some embodiments, the second SDAP entity module 71 is used to:

[0191] Parsing the SDAP PDU to obtain the first message;

[0192] The SDAP entity of the network device generates a plurality of second messages using the first message; and sends the plurality of second messages to the plurality of relay servers accordingly.

[0193] In some embodiments, the second SDAP entity module 71 is used to:

[0194] Parsing the first message to obtain a first string, comparing the first string carried by the first message with a third string stored locally to obtain a comparison result; the third string represents a string corresponding to the data sent to the multiple relay servers;

[0195] When the comparison result indicates that the first string carried by the first message is the same as the third string stored locally, the SDAP entity of the network device determines that the data corresponding to the third string not stored locally is the same as the data corresponding to the first string, and generates multiple second messages based on the data corresponding to the third string and the addresses of multiple relay servers carried by the first message.

[0196] In some embodiments, the second SDAP entity module 71 is used to:

[0197] When the comparison result indicates that the first string carried by the first message is different from the third string stored locally, the data corresponding to the third string not stored locally is different from the data corresponding to the first string, and based on the data carried by the first message and the addresses of multiple relay servers carried by the first message, multiple second messages are generated, and the first string carried by the first message is stored locally.

[0198] In some embodiments, the second SDAP entity module 71 is used to:

[0199] After the first character string carried by the first message is stored locally, a second timer is started; after the second timer reaches a preset time, the character string stored in the time period from the time when the second timer is started to the preset time is deleted.

[0200] In actual application, the second SDAP entity module 71 can be implemented by a processor in a data transmission device.

[0201] It should be noted that: the data transmission device provided in the above embodiment only uses the division of the above program modules as an example when performing data transmission. In actual applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above. In addition, the data transmission device provided in the above embodiment and the data transmission method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.

[0202] The present application also provides a terminal, such as Figure 8 As shown, including:

[0203] The first communication interface 81 is capable of exchanging information with other terminals;

[0204] The first processor 82 is connected to the first communication interface 81 and is used to execute the method provided by one or more technical solutions on the terminal side when running a computer program. The computer program is stored in the first memory 83.

[0205] It should be noted that the specific processing process of the first processor 82 and the first communication interface 81 is detailed in the method embodiment and will not be repeated here.

[0206] Of course, in actual application, the various components in the terminal 80 are coupled together through the bus system 84. It is understood that the bus system 84 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 84 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, Figure 8 Various buses are labeled as bus system 84 .

[0207] The first memory 83 in the embodiment of the present application is used to store various types of data to support the operation of the terminal 80. Examples of such data include: any computer program used to operate on the terminal 80.

[0208] The method disclosed in the above embodiment of the present application can be applied to the first processor 82, or implemented by the first processor 82. The first processor 82 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit or software instructions in the first processor 82. The above-mentioned first processor 82 may be a general-purpose processor, a digital data processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The first processor 82 can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor may be a microprocessor or any conventional processor, etc. In combination with the steps of the method disclosed in the embodiment of the present application, it can be directly embodied as a hardware decoding processor to execute, or it can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium, which is located in the first memory 83, and the first processor 82 reads the information in the first memory 83 and completes the steps of the above method in combination with its hardware.

[0209] The present application also provides a network device, such as Fig. 9 As shown, including:

[0210] The second communication interface 91 is capable of exchanging information with other terminals;

[0211] The second processor 92 is connected to the second communication interface 91 and is used to execute the method provided by one or more technical solutions of the network device side when running a computer program. The computer program is stored in the second memory 93.

[0212] It should be noted that: the specific processing process of the second processor 92 and the second communication interface 91 is detailed in the method embodiment, which will not be repeated here.

[0213] Of course, in actual application, the various components in the network device 18 are coupled together through the bus system 94. It is understood that the bus system 94 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 94 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, Fig. 9 Various buses are labeled as bus system 94 .

[0214] The second memory 93 in the embodiment of the present application is used to store various types of data to support the operation of the network device 18. Examples of such data include: any computer program used to operate on the network device 18.

[0215] The method disclosed in the above embodiment of the present application can be applied to the second processor 92, or implemented by the second processor 92. The second processor 92 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit or software instructions in the second processor 92. The above second processor 92 may be a general processor, a digital data processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The second processor 92 can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of the present application. The general processor may be a microprocessor or any conventional processor, etc. In combination with the steps of the method disclosed in the embodiment of the present application, it can be directly embodied as a hardware decoding processor to execute, or it can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium, which is located in the second memory 93, and the second processor 92 reads the information in the second memory 93 and completes the steps of the above method in combination with its hardware.

[0216] In an exemplary embodiment, the terminal 80 and the network device 18 can be implemented by one or more application-specific integrated circuits (ASIC), DSP, programmable logic device (PLD), complex programmable logic device (CPLD), field-programmable gate array (FPGA), general-purpose processor, controller, microcontroller (MCU), microprocessor, or other electronic components to execute the aforementioned method.

[0217] It can be understood that the memory (first memory 83, second memory 93) of the embodiment of the present application can be a volatile memory or a non-volatile memory, and can also include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM); the magnetic surface memory can be a disk memory or a tape memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), synchronous static random access memory (SSRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct RAM bus random access memory (DRRAM).The memories described in the embodiments of the present application are intended to include, but are not limited to, these and any other suitable types of memories.

[0218] In an exemplary embodiment, the present application also provides a storage medium, namely a computer storage medium, specifically a computer-readable storage medium, for example, a memory storing a computer program, and the computer program can be executed by the first processor 82 of the terminal 80 to complete the steps of the aforementioned terminal-side method. The computer-readable storage medium can be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface storage, optical disk, or CD-ROM.

[0219] It should be noted that: "first", "second", etc. are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0220] In addition, the technical solutions described in the embodiments of the present application can be combined arbitrarily without conflict.

[0221] The above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application.

Claims

1. A data transmission method, characterized in that: Applied to a terminal, the method comprises: The Internet Protocol IP entity of the terminal generates a first message; the first message carries addresses of multiple relay servers for receiving data carried by the first message; The IP entity of the terminal sends the first message to the Service Data Adaptation Protocol SDAP entity of the terminal; The SDAP entity of the terminal generates an SDAP protocol data unit (PDU) based on the first message; and sends the SDAP PDU to a network device, so that the network device forwards data corresponding to the first message to the multiple relay servers using the addresses of the multiple relay servers.

2. The method according to claim 1, characterized in that The method further comprises: The IP entity of the terminal adds a first field to the first message, and adds an extended header to the header of the first message; The first field carries the first character string, which is obtained by performing a hash operation on the data carried by the first message; and the extended header carries the addresses of the multiple relay servers.

3. The method according to claim 2, characterized in that The SDAP entity of the terminal generates an SDAP PDU based on the first message, including: The SDAP entity of the terminal determines whether the data carried by the first message is data repeatedly sent to the network device; The SDAP entity of the terminal generates an SDAP PDU based on information in a header of the first message when determining that the data carried by the first message is data repeatedly sent to the network device.

4. The method according to claim 3, characterized in that The SDAP entity of the terminal determines whether the data carried by the first message is data repeatedly sent to the network device, including: The SDAP entity of the terminal compares the first character string carried by the first message with a second character string stored locally to obtain a comparison result; the second character string represents a character string corresponding to the data sent to the network device; The SDAP entity of the terminal determines that the data carried by the first message is data repeatedly sent to the network device when the comparison result indicates that the first character string carried by the first message is the same as the second character string stored locally.

5. The method according to claim 4, characterized in that The method further comprises: When the comparison result indicates that the first string carried by the first message is different from the second string stored locally, the SDAP entity of the terminal determines that the data carried by the first message is not data repeatedly sent to the network device, generates an SDAPPDU based on the information in the header of the first message and the data carried by the first message, and stores the first string carried by the first message locally.

6. The method according to claim 5, characterized in that The method further comprises: After the SDAP entity of the terminal stores the first character string carried by the first message locally, starting a first timer; After the first timer reaches a preset time, the SDAP entity of the terminal deletes the character string stored in a time period from the time when the first timer is started to the preset time.

7. A data transmission method, characterized in that: Applied to a network device, the method comprises: The SDAP entity of the network device receives the SDAP PDU sent by the terminal; Among them, the SDAP PDU is generated by the SDAP entity of the terminal based on the first message sent by the IP entity of the terminal; the first message is generated by the IP entity of the terminal; the first message carries the addresses of multiple relay servers for receiving the data carried by the first message; the SDAP PDU is used by the network device to forward the data carried by the first message to the multiple relay servers using the addresses of the multiple relay servers.

8. The method according to claim 7, characterized in that The method further comprises: The SDAP entity of the network device parses the SDAP PDU to obtain the first message; The SDAP entity of the network device generates a plurality of second messages using the first message; and sends the plurality of second messages to the plurality of relay servers accordingly.

9. The method according to claim 8, characterized in that The SDAP entity of the network device generates a plurality of second messages using the first message, including: The SDAP entity of the network device parses the first message to obtain a first string, and compares the first string carried by the first message with a third string stored locally to obtain a comparison result; the third string represents a string corresponding to the data sent to the multiple relay servers; When the comparison result indicates that the first string carried by the first message is the same as the third string stored locally, the SDAP entity of the network device determines that the data corresponding to the third string not stored locally is the same as the data corresponding to the first string, and generates multiple second messages based on the data corresponding to the third string and the addresses of multiple relay servers carried by the first message.

10. The method according to claim 9, characterized in that The method further comprises: When the comparison result indicates that the first string carried by the first message is different from the third string stored locally, the data corresponding to the third string not stored locally is different from the data corresponding to the first string. Based on the data carried by the first message and the addresses of multiple relay servers carried by the first message, the SDAP entity of the network device generates multiple second messages and stores the first string carried by the first message locally.

11. The method according to claim 10, characterized in that The method further comprises: After the SDAP entity of the network device stores the first character string carried by the first message locally, it starts a second timer; After the second timer reaches a preset time, the SDAP entity of the network device deletes the character string stored in a time period from the time when the second timer is started to the preset time.

12. A data transmission device, characterized in that: include: An IP entity module, used for generating a first message; The first message carries addresses of multiple relay servers for receiving data carried by the first message; Sending the first message to the SDAP entity of the terminal; The first SDAP entity module is used to generate an SDAP PDU based on the first message; and send the SDAP PDU to a network device, so that the network device forwards data corresponding to the first message to the multiple relay servers using the addresses of the multiple relay servers.

13. A data transmission device, characterized in that: include: The second SDAP entity module is used to receive the SDAP PDU sent by the terminal; wherein the SDAP PDU is generated by the SDAP entity of the terminal based on the first message sent by the IP entity of the terminal; the first message is generated by the IP entity of the terminal; the first message carries the addresses of multiple relay servers for receiving the data carried by the first message; the SDAP PDU is used by the network device to forward the data carried by the first message to the multiple relay servers using the addresses of the multiple relay servers.

14. A terminal, characterized in that: comprising a processor and a memory for storing a computer program capable of being executed on the processor, Wherein, when the processor is used to run the computer program, it executes the steps of the method described in any one of claims 1 to 6.

15. A network device, characterized in that: comprising a processor and a memory for storing a computer program capable of being executed on the processor, Wherein, when the processor is used to run the computer program, it executes the steps of the method described in any one of claims 1 to 11.

16. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the computer program implements the steps of the method according to any one of claims 1 to 6, or implements the steps of the method according to any one of claims 7 to 11.