Data transmission method and device
By performing segmentation processing and deterministic processing of big data at the sending and receiving ends of the wireless communication system, the problem of missing deterministic guarantee strategy for big data transmission in the prior art is solved, and the certainty and reliability of data segmentation and data block transmission are realized.
Patent Information
- Application Number
- CN202311465370.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-03
- Publication Date
- 2025-05-06
AI Technical Summary
The existing wireless communication systems lack deterministic guarantee strategies for big data transmission and cannot guarantee the reliability of big data transmission.
By performing segmentation processing of the data block to be sent at the sending end, and performing a first deterministic processing (such as integrity protection or encryption) on the data segments after each segmentation processing, and then sending the target data segments to the receiving end. After receiving the target data segment, the receiving end performs a second deterministic process (such as integrity verification or decryption) and combines the processed data segments into complete data blocks.
It realizes the certainty guarantee of data segmentation transmission, and ensures the certainty of the entire data block transmission, and can promptly detect and process errors that occur during data segmentation, and provide remedial measures.
Smart Images

Figure CN119946637A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of communications, and in particular, to a data transmission method and device. Background Art
[0002] In existing wireless communication systems, most of the application layer data transmitted is IP packets, and the length of IP packets is usually 1500 bytes (standard Ethernet frame) or 9000 bytes (Jumbo frame). In future wireless communication systems (such as 6G), due to the support of new services such as AI and perception, the data transmitted in the system may not be based on IP packets. It may be necessary to transmit a large file, such as AI data, which may not come from the application layer, but is data generated inside the system. The main difference between this type of large file data transmission and IP packets is that for IP packets, the network only needs to ensure the determinism of the IP data packet; for large data transmission such as large files, the network needs to ensure the deterministic transmission of the entire file.
[0003] However, existing wireless communication systems do not have a deterministic guarantee strategy for such large data transmission. Summary of the invention
[0004] The embodiments of the present application provide a data transmission method and device to at least solve the problem that there is no deterministic guarantee strategy for large data transmission in the related art.
[0005] According to an embodiment of the present application, a data transmission method is provided, which is applied to a sending end and includes:
[0006] The data blocks to be sent are processed in segments one by one;
[0007] Performing a first deterministic processing on the data segments obtained after each segmentation processing to obtain target data segments;
[0008] The target data is segmented and sent to a receiving end.
[0009] According to another embodiment of the present application, a data transmission method is provided, which is applied to a receiving end and includes:
[0010] Receive target data segments; wherein the target data segments are data segments obtained by the transmitting end sequentially performing segmentation processing on the data blocks to be transmitted, and performing a first deterministic processing on the data segments obtained after each segmentation processing;
[0011] performing a second deterministic processing on the target data segment received each time;
[0012] The target data segments after the second deterministic processing are combined in sequence to obtain a target data block.
[0013] According to another embodiment of the present application, a data transmission device is provided, which is applied to a sending end and includes:
[0014] A segmentation module is used to sequentially segment the data blocks to be sent;
[0015] A first deterministic processing module is used to perform a first deterministic processing on the data segments obtained after each segmentation processing to obtain target data segments;
[0016] The sending module is used to send the target data in segments to a receiving end.
[0017] According to another embodiment of the present application, a data transmission device is provided, which is applied to a receiving end and includes:
[0018] A receiving module, configured to receive target data segments; wherein the target data segments are data segments obtained by the transmitting end sequentially performing segmentation processing on the data blocks to be transmitted, and performing a first deterministic processing on the data segments obtained after each segmentation processing;
[0019] A second deterministic processing module, configured to perform a second deterministic processing on the target data segment received each time;
[0020] The combining module is used to sequentially combine the target data segments after deterministic verification to obtain a target data block.
[0021] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when run.
[0022] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0023] In an embodiment of the present application, the receiving end first performs segmentation processing on the data blocks to be sent in sequence, and then performs a first deterministic processing on the data segments obtained after each segmentation processing to obtain target data segments, and sends the target data segments to the receiving end; the receiving end receives the target data segments, and performs a second deterministic processing on the target data segments received each time, and then sequentially combines the target data segments after the second deterministic processing to obtain the target data blocks, which solves the problem of the lack of a deterministic guarantee strategy for large data transmission in the related art, thereby ensuring the determinism of both the data segment transmission and the entire data block transmission, and errors found in the data segmentation process can be discovered in a timely manner, and remedial measures can be provided. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] Figure 1 It is a hardware structure block diagram of a mobile terminal of a data transmission method according to an embodiment of the present application;
[0025] Figure 2 is a flowchart of a data transmission method according to an embodiment of the present application;
[0026] Figure 3 is a flow chart of a data transmission method according to another embodiment of the present application;
[0027] Figure 4 is a schematic diagram of a process for data integrity protection according to an embodiment of the present application;
[0028] Figure 5 It is a flowchart of data integrity check at the receiving end according to an embodiment of the present application;
[0029] Figure 6 is a schematic diagram of a data encryption process according to an embodiment of the present application;
[0030] Figure 7 is a schematic diagram of a process of decrypting data at a receiving end according to an embodiment of the present application;
[0031] Figure 8 is a structural block diagram of a data transmission device according to an embodiment of the present application;
[0032] Fig. 9 It is a structural block diagram of a data transmission device according to another embodiment of the present application. DETAILED DESCRIPTION
[0033] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0034] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0035] In existing wireless communication systems, the network does not need to consider the deterministic transmission of big data (such as large files), because large files have been fragmented at the application layer, and the network only needs to ensure the deterministic transmission of a certain data packet. However, for the big data generated within the system (such as AI data, perception data, computing power data, etc.), there is no corresponding deterministic transmission method in the existing wireless communication system, and the reliability of big data transmission cannot be guaranteed.
[0036] Based on the problems existing in the above-mentioned prior art, an embodiment of the present application provides a data transmission method, whose technical concept is: the receiving end first performs segmentation processing on the data blocks to be sent in sequence, and then performs a first deterministic processing on the data segments obtained after each segmentation processing to obtain target data segments, and sends the target data segments to the receiving end. The receiving end performs a second deterministic processing on the target data segments received each time, and then combines the target data segments after the second deterministic processing in sequence to obtain target data blocks, which solves the problem that there is no deterministic guarantee strategy for large data transmission in the related technology, thereby ensuring the determinism of data segment transmission and the determinism of the entire data block transmission, and errors found in the data segmentation process can be discovered in time and remedial measures can be provided.
[0037] The method embodiments provided in the embodiments of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Taking running on a mobile terminal as an example, Figure 1 1 is a hardware structure block diagram of a mobile terminal of a data transmission method according to an embodiment of the present application. Figure 1 As shown, the mobile terminal may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the mobile terminal may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the mobile terminal. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations shown.
[0038] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as a computer program corresponding to a data transmission method in an embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the mobile terminal via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0039] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the mobile terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0040] The data transmission method of the embodiment of the present application is applicable to but not limited to new types of data transmission (such as AI data, perception data, computing power data, etc.), data transmission between any two nodes in a wireless communication network, etc., wherein these nodes include but are not limited to terminals, base stations, core network elements, and other network elements that process data.
[0041] In this embodiment, a data transmission method is provided. Figure 2 is a flowchart of a data transmission method according to an embodiment of the present application, which is applied to a sending end, such as Figure 2 As shown, the process includes the following steps:
[0042] Step S201, segmenting the data blocks to be sent in sequence.
[0043] In the embodiment of the present application, during the transmission of a large data block, due to limited transmission resources (such as air interface resources), segmented transmission can be adopted. Exemplarily, the transmitting end can sequentially segment the transmitted data blocks according to the segmentation mechanism.
[0044] Step S202: Perform a first deterministic processing on the data segments obtained after each segmentation process to obtain target data segments.
[0045] Step S203, sending the target data segments to a receiving end.
[0046] Exemplarily, the sending end may perform a first deterministic processing on the data segments obtained after each segmentation processing to obtain target segments, and may send the target data segments to the receiving end so that the receiving end performs corresponding processing on the target data segments.
[0047] In an exemplary embodiment, the first deterministic processing includes at least one of the following processing: integrity protection, encryption.
[0048] As an example, the first deterministic processing may include but is not limited to integrity protection and encryption. For example, the first deterministic processing may be integrity protection or encryption, or the first deterministic processing may be integrity protection first and then encryption, or encryption first and then integrity protection, which is not limited in the embodiments of the present application.
[0049] In an embodiment of the present application, the sending end may first segment the large data block, and then perform integrity protection or encryption on the data segments obtained by the segmentation processing. This can avoid the problem that in the related technology, only the integrity protection or encryption of the entire large data block is performed, and when an integrity check or decryption error occurs in a data segment during the transmission process, it cannot be discovered in time.
[0050] For example, if the first deterministic processing is integrity protection, the sending end can perform integrity protection on the first data segment obtained by the first segmentation of the data block (such as using a message authentication code (Message Authentication Codes-Integrity, MAC-I) mechanism, etc.), obtain the first integrity-protected data segment, send the first integrity-protected data segment to the receiving end, then perform a second segmentation on the data block, and repeat the above process until all integrity-protected data segments of the data block are sent to the receiving end.
[0051] For example, if the first deterministic processing is encryption, the sending end can encrypt the first data segment obtained by the first segmentation of the data block to obtain the first encrypted data segment, send the first encrypted data segment to the receiving end, and then segment the data block for the second time, and repeat the above process until all encrypted data segments of the data block are sent to the receiving end.
[0052] In an exemplary embodiment, sending the target data segment to the receiving end includes: acquiring a hash value of the data block to be sent; and sending the hash value of the data block to be sent and the target data segment to the receiving end.
[0053] As an example, the sending end may calculate the hash value of the data block to be sent before segmenting the data block to be sent.
[0054] As an example, the sending end may send the hash value of the data block and any target data segment of the data block to the receiving end, so that the receiving end completes corresponding deterministic processing on each target data segment and then performs hash value verification on the entire data block.
[0055] In an exemplary embodiment, sending the hash value of the data block to be sent and the target data segment to the receiving end includes: when the target data segment is the first target data segment or the last target data segment of the data block to be sent, sending the hash value of the data block to be sent and the target data segment to the receiving end.
[0056] As an example, the sending end may send the hash value of the data block and the first target data segment or the last target data segment of the data block to the receiving end so that the receiving end can better identify the data block.
[0057] In an embodiment of the present application, the sending end segments the data blocks to be sent in sequence, and then performs a first deterministic processing on the data segments obtained after each segmentation process to obtain target data segments, and sends the target data segments to the receiving end, thereby not only ensuring the determinism of the data segment transmission, but also ensuring the determinism of the entire data block transmission, and errors found in the data segmentation process can be discovered in a timely manner and remedial measures can be provided.
[0058] In this embodiment, a data transmission method is provided. Figure 3 is a flow chart of a data transmission method according to another embodiment of the present application, which is applied to a receiving end, such as Figure 3 As shown, the process includes the following steps:
[0059] Step 301, receiving target data segments; wherein the target data segments are data segments obtained by the transmitting end performing segmentation processing on the data blocks to be transmitted in sequence, and performing a first deterministic processing on the data segments obtained after each segmentation processing.
[0060] In the embodiment of the present application, the receiving end may sequentially receive target data segments sent by the sending end, wherein the target data segments may be data segments obtained by the sending end sequentially performing segmentation processing on the data blocks to be sent and performing first deterministic processing on the data segments obtained after each segmentation processing.
[0061] As an example, the sending end may perform a first deterministic processing on the first data segment obtained by the first segmentation of the data block to obtain a first target data segment, and send the first target data segment to the receiving end, which receives the first target data segment; the sending end continues to perform a second segmentation processing on the data block, and performs a first deterministic processing on the second data segment obtained by the second segmentation processing to obtain a second target data segment, and sends the second target data segment to the receiving end, which receives the second target data segment; the sending end continues to perform a third segmentation processing on the data block, and repeats the above steps until the receiving end receives the last target data segment of the data block.
[0062] In an exemplary embodiment, the receiving the target data segment includes: receiving a hash value of a to-be-sent data block sent by the sending end and the target data segment.
[0063] As an example, the receiving end may receive the hash value of the data block and send it together with any target data segment of the data block, so as to complete the corresponding deterministic processing on each target data segment and then perform the hash value verification of the entire data block.
[0064] In an exemplary embodiment, the receiving of the hash value of the data block to be sent and the target data segment sent by the sending end includes: when the target data segment is the first target data segment or the last target data segment of the data block to be sent, receiving the hash value of the data block to be sent and the target data segment.
[0065] As an example, when the target data segment is the first target data segment or the last target data segment of the data block to be sent, the receiving end may receive the hash value of the data block to be sent and the first target data segment or the last target data segment of the data block to better identify the data block.
[0066] Step 302: Perform a second deterministic processing on each received target data segment.
[0067] As an example, the receiving end may perform the second deterministic processing on the target data segment after receiving the target data segment.
[0068] In an exemplary embodiment, the second deterministic processing includes at least one of the following checks: integrity check, decryption.
[0069] For example, if the first deterministic processing is integrity protection, the sending end can perform integrity protection on the first data segment obtained by the first segmentation processing of the data block, obtain the first integrity-protected data segment, and send the first integrity-protected data segment to the receiving end; the receiving end can receive the first integrity-protected data segment and perform an integrity check on the first integrity-protected data segment.
[0070] The receiving end can perform integrity check on each integrity-protected data segment sent by the sending end in sequence.
[0071] For example, if the first deterministic processing is encryption, the sending end can encrypt the first data segment obtained by the first segmentation processing of the data block to obtain the first encrypted data segment, and send the first encrypted data segment to the receiving end. The receiving end can receive the first encrypted data segment and decrypt the first encrypted data segment.
[0072] The receiving end can decrypt each encrypted data segment sent by the sending end in sequence.
[0073] As an example, the second deterministic processing may include but is not limited to integrity checking and decryption. For example, the second deterministic processing may be integrity checking or decryption, and the first deterministic processing may be integrity checking first and then decryption, or decryption first and then integrity checking. The embodiments of the present application do not limit this.
[0074] Step 303: sequentially combine the target data segments after the second deterministic processing to obtain a target data block.
[0075] As an example, the receiving end may combine the target data segments after integrity verification and / or decryption in sequence to obtain a target data block.
[0076] In an exemplary embodiment, after sequentially combining the target data segments after the second deterministic processing to obtain the target data blocks, the method further includes:
[0077] Calculating a hash value of the target data block;
[0078] Based on the hash value of the data block to be sent and the hash value of the target data block, the certainty of the target data block is verified.
[0079] As an example, a hash value of the target data block may be calculated, and the certainty of the target data block may be verified based on the hash value of the data block to be sent and the hash value of the target data block.
[0080] For example, after receiving all the target data segments after the second deterministic processing of the data block, the receiving end combines the target data segments after the second deterministic processing in sequence to obtain the target data block, and calculates the hash value of the target data block to perform a hash value verification of the data block. If the verification is successful, it means that the deterministic verification of the data block is successful; if the verification fails, it means that the deterministic verification of the data block fails, and the entire data block can be discarded.
[0081] In an exemplary embodiment, after performing the second deterministic processing on the target data segment received each time, the method further includes: counting the number of consecutive failures of the second deterministic processing.
[0082] For example, the second deterministic processing is performed on the first target data segment of the data block. If the second deterministic processing fails, the number of consecutive failures of the second deterministic processing can be recorded as 1, and the second deterministic processing is continued to be performed on the second target data segment of the data block. If the second deterministic processing fails, the number of consecutive failures of the second deterministic processing can be recorded as 2.
[0083] In an exemplary embodiment, counting the number of consecutive failures of the second deterministic processing may specifically include:
[0084] determining whether the second deterministic processing of the target data segment is successful;
[0085] In the case where the second deterministic processing of the target data segment fails, adding 1 to the number of consecutive failures of the second deterministic processing;
[0086] If the second deterministic processing is successful, the number of consecutive failures of the second deterministic processing is set to 0.
[0087] For example, the second deterministic processing is performed on the first target data segment of the data block. If the second deterministic processing fails, the number of consecutive failures of the second deterministic processing can be recorded as 1, and the second deterministic processing is continued to the second target data segment of the data block. If the second deterministic processing fails, the number of consecutive failures of the second deterministic processing can be recorded as 2; if the second deterministic processing is successful, the number of consecutive failures of the second deterministic processing can be recorded as 0, and the second deterministic processing is continued to the third target data segment of the data block, and so on, until all target data segments of the data block complete the second deterministic processing judgment.
[0088] In an exemplary embodiment, after counting the number of consecutive failures of the second deterministic processing, the method further includes:
[0089] Determining whether the second deterministic processing consecutive failure number is greater than or equal to a preset consecutive failure number threshold;
[0090] In a case where the number of consecutive failures of the second deterministic processing is greater than or equal to a preset consecutive failure number threshold, initiating a request for reestablishing a radio resource control RRC connection to the transmitting end;
[0091] When the second deterministic processing consecutive failure times are less than a preset consecutive failure times threshold, a request for resending the target data segment is sent to the sending end.
[0092] As an example, after the determination of the second deterministic processing of all target data segments of the data block is completed, the number of consecutive failures of the second deterministic processing of the data block can be obtained.
[0093] As an example, it can be determined whether the number of consecutive failures of the second deterministic processing is greater than or equal to a preset consecutive failure threshold. If the number of consecutive failures of the second deterministic processing is greater than or equal to the preset consecutive failure threshold, a request for re-establishing a wireless resource control RRC connection can be initiated to the sending end, thereby re-establishing a communication connection with the sending end.
[0094] As an example, when the number of consecutive failures of the second deterministic processing is less than a preset consecutive failure threshold, a request to resend the target data segment may be sent to the sending end so that the sending end resends the target data segment.
[0095] In an exemplary embodiment, after initiating a request for re-establishing a wireless resource control RRC connection to the sending end, it also includes: discarding all the target data segments currently received; or, after re-establishing the RRC connection with the sending end, continuing to receive the target data segments that were not successfully sent by the sending end.
[0096] As an example, after initiating a request to reestablish a radio resource control RRC connection to the sender, all currently received target data segments can be discarded, or after reestablishing the RRC connection with the sender, the target data segments that the sender has not successfully sent can continue to be received.
[0097] In the embodiment of the present application, the receiving end performs a second deterministic processing on the target data segment received each time, and sequentially combines the target data segments after the second deterministic processing to obtain a target data block; wherein the target data segment is a data segment obtained by the sending end sequentially performing segmentation processing on the data block to be sent, and performing a first deterministic processing on the data segment obtained after each segmentation processing. The problem that there is no deterministic guarantee strategy for large data transmission in the related art is solved, so that the determinism of data segment transmission and the determinism of the entire data block transmission can be guaranteed, and errors found in the data segmentation process can be discovered in time and remedial measures can be provided.
[0098] In order to facilitate the understanding of the embodiments of the present application, the embodiments of the present application are further explained below through several examples.
[0099] Example 1
[0100] During the transmission of large data blocks, due to the limited transmission resources (such as air interface resources), it is generally necessary to send them in segments. The sending end performs integrity protection on each data segment (such as using MAC-I mechanism, etc.), and the receiving end performs integrity verification on each data segment and takes corresponding processing according to the verification result. When the entire large data block is fully transmitted, the receiving end performs integrity verification on the entire data. The integrity verification can use the message-digest algorithm 5 (MD5), secure hash algorithm 1 (SHA1), secure hash algorithm 256 (SHA256) mechanism, etc. Figure 4 is a flow chart of data integrity protection according to an embodiment of the present application, such as Figure 4 As shown, the specific steps are as follows:
[0101] Step 401: The sending end calculates the hash value of the entire data block (such as a file) to be sent;
[0102] Exemplarily, algorithms such as MD5 / SHA1 / SHA256 may be used to calculate the hash value of the data block.
[0103] Step 402: The sending end processes the data block in segments according to the segmentation mechanism, performs integrity protection on each data segment, and generates an integrity check mark corresponding to each data segment;
[0104] Exemplarily, a MAC-I mechanism may be used to perform integrity protection on each data segment.
[0105] Step 403: The sending end sends the first data segment of the data block and the integrity check mark of the segment to the receiving end;
[0106] Exemplarily, a MAC-I mechanism may be used to perform integrity check on each data segment.
[0107] Step 404: After receiving the data segment, the receiving end performs a data segment integrity check;
[0108] Step 405: The sending end continues to perform data segmentation and integrity protection processing;
[0109] Step 406: The sending end sends the last data segment of the data block, the integrity check mark of the segment, and the hash value of the data block to the receiving end;
[0110] Step 407: After receiving the data segments, the receiving end performs integrity checks on the data segments in sequence;
[0111] Step 408: After receiving all the segments of the data block, the receiving end starts to verify the hash value of the data block. If the verification succeeds, it means that the integrity check of the data block is successful; if the verification fails, it means that the integrity check of the data block fails and the entire data block can be discarded.
[0112] Exemplarily, the hash value of the data block may also be sent together with the first data segment.
[0113] Example 2
[0114] Figure 5 : is a flowchart of the receiving end data integrity check according to an embodiment of the present application, wherein the "number of consecutive integrity check failures" can be recorded as C1, and the "maximum consecutive integrity check failure threshold" can be recorded as X1, and X1 can be predefined or preconfigured. Figure 5 As shown, the specific steps are as follows:
[0115] Step 501: The receiving end receives the data segment;
[0116] Step 502: Perform data segment integrity check and determine whether the check is successful;
[0117] Step 503: If the integrity check succeeds, C1 is set to 0;
[0118] Step 504: If the integrity check fails, C1 is incremented by 1;
[0119] Step 505: Determine whether C1 is greater than or equal to X1;
[0120] Step 506: If C1 is greater than or equal to X1, trigger RRC connection re-establishment and discard all segments of the data block that have been received;
[0121] Step 507: If C1 is less than X1, the sending end is notified to resend the data segment.
[0122] As an example, for step 506, after triggering the RRC connection re-establishment, all segments of the data block that have been received may not be discarded, and after the RRC connection is successfully re-established, other segments of the data block that have not been successfully sent may continue to be sent.
[0123] As an example, this process may also be applied to a complete data packet.
[0124] Example 3
[0125] During the transmission of large data blocks, it is usually necessary to segment them. If only the entire large data block is encrypted, then during the transmission process, when a decryption error occurs in a data segment, it cannot be discovered in time. This example provides a data block encryption mechanism that can ensure that decryption errors are discovered in time so that necessary remedial measures can be taken. Figure 6 is a schematic diagram of a data encryption process according to an embodiment of the present application, such as Figure 6 As shown, the specific steps are as follows:
[0126] Step 601: The sending end segments the data block according to the segmentation mechanism and encrypts each segmented data separately;
[0127] Step 602: The transmitting end sends the first data segment of the data block to the receiving end;
[0128] Step 603: After receiving the data segment, the receiving end decrypts the data segment;
[0129] Step 604: The sending end continues data segmentation and encryption processing;
[0130] Step 605: The transmitting end sends the last data segment of the data block to the receiving end;
[0131] Step 606: After receiving the data segment, the receiving end decrypts the data segment.
[0132] As an example, if the data segment has an integrity protection process, the integrity protection of the data segment can be performed first, and then the data segment can be encrypted.
[0133] Example 4
[0134] Figure 7: is a schematic diagram of the process of receiving end data decryption according to an embodiment of the present application, wherein the "number of consecutive decryption failures" is recorded as C2, and the "maximum number of consecutive decryption failures threshold" is recorded as X2, and the threshold X2 can be predefined or preconfigured. Figure 7 As shown, the specific steps are as follows:
[0135] Step 701: The receiving end receives the data segment;
[0136] Step 702: Decrypt the data in segments and determine whether the decryption is successful;
[0137] Step 703: If the decryption is successful, C2 is set to 0;
[0138] Step 704: If the decryption fails, C2 is incremented by 1;
[0139] Step 705: Determine whether C2 is greater than or equal to X2;
[0140] Step 706: If C2 is greater than or equal to X2, trigger RRC connection re-establishment and discard all segments of the data block that have been received;
[0141] Step 707: If C2 is less than X2, the sending end is notified to resend the data segment.
[0142] As an example, for step 706, after triggering the RRC connection re-establishment, all segments of the data block that have been received may not be discarded, and after the RRC connection is successfully re-established, other segments of the data block that have not been successfully sent may continue to be sent.
[0143] As an example, this process may also be applied to a complete data packet.
[0144] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.
[0145] In this embodiment, a data transmission device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0146] Figure 8 is a structural block diagram of a data transmission device according to an embodiment of the present application, such as Figure 8 As shown, applied to a transmitting end, the device comprises:
[0147] Segmentation module 801, used for sequentially segmenting the data blocks to be sent;
[0148] A first deterministic processing module 802 is used to perform a first deterministic processing on the data segments obtained after each segmentation process to obtain target data segments;
[0149] The sending module 803 is used to send the target data segments to the receiving end.
[0150] In an exemplary embodiment, the first deterministic processing includes at least one of the following processing: integrity protection, encryption.
[0151] In an exemplary embodiment, the sending module 803 includes:
[0152] A first acquisition submodule, used to obtain a hash value of the data block to be sent;
[0153] The sending submodule is used to send the hash value of the data block to be sent and the target data segments to the receiving end.
[0154] In an exemplary embodiment, the sending submodule includes:
[0155] The sending unit is used to send the hash value of the data block to be sent and the target data segment to the receiving end when the target data segment is the first target data segment or the last target data segment of the data block to be sent.
[0156] Fig. 9 is a structural block diagram of a data transmission device according to another embodiment of the present application, which is applied to a receiving end, such as Fig. 9 As shown, including:
[0157] The receiving module 901 is used to receive target data segments; wherein the target data segments are data segments obtained by the transmitting end performing segmentation processing on the data blocks to be transmitted in sequence and performing a first deterministic processing on the data segments obtained after each segmentation processing;
[0158] A second deterministic processing module 902, configured to perform a second deterministic processing on the target data segment received each time;
[0159] The combining module 903 is used to sequentially combine the target data segments after the deterministic verification to obtain a target data block.
[0160] In an exemplary embodiment, the receiving module 901 includes:
[0161] The first receiving submodule is used to receive the hash value of the to-be-sent data block and the target data segment sent by the sending end.
[0162] In an exemplary embodiment, the first receiving submodule includes:
[0163] A receiving unit is used to receive the hash value of the data block to be sent and the target data segment when the target data segment is the first target data segment or the last target data segment of the data block to be sent.
[0164] In an exemplary embodiment, it also includes:
[0165] A calculation module, configured to calculate a hash value of the target data block after sequentially combining the target data segments after the second deterministic processing to obtain the target data block;
[0166] A verification module is used to verify the certainty of the target data block based on the hash value of the data block to be sent and the hash value of the target data block.
[0167] In an exemplary embodiment, it also includes:
[0168] The counting module is used to count the number of consecutive failures of the second deterministic processing.
[0169] In an exemplary embodiment, the counting module includes:
[0170] A first judgment submodule, used to judge whether the second deterministic processing of the target data segment is successful;
[0171] a counting submodule, configured to, if the second deterministic processing of the target data segment fails, add 1 to the number of consecutive failures of the second deterministic processing;
[0172] The zeroing submodule is used to set the number of consecutive failures of the second deterministic processing to 0 when the second deterministic processing succeeds.
[0173] In an exemplary embodiment, it also includes:
[0174] A first judgment submodule is used to judge whether the number of consecutive failures of the second deterministic processing is greater than or equal to a preset consecutive failure number threshold after counting the number of consecutive failures of the second deterministic processing;
[0175] A first request submodule, configured to initiate a request for reestablishing a radio resource control RRC connection to the transmitting end when the number of consecutive failures of the second deterministic processing is greater than or equal to a preset consecutive failure number threshold;
[0176] A second request submodule is configured to send a request to the sending end to resend the target data segment when the number of consecutive failures of the second deterministic processing is less than a preset consecutive failure threshold.
[0177] In an exemplary embodiment, it also includes:
[0178] a discarding submodule, configured to discard all the target data segments currently received after initiating a request for reestablishing a radio resource control RRC connection to the transmitting end; or,
[0179] The second receiving submodule is used to continue receiving the target data segment that was not successfully sent by the sending end after re-establishing the RRC connection with the sending end.
[0180] In an exemplary embodiment, the second deterministic processing includes at least one of the following checks: integrity check, decryption.
[0181] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.
[0182] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
[0183] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.
[0184] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0185] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.
[0186] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.
[0187] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.
[0188] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.
Claims
1. A data transmission method, characterized in that: Applied to the sending end, including: The data blocks to be sent are processed in segments one by one; Performing a first deterministic processing on the data segments obtained after each segmentation processing to obtain target data segments; The target data is segmented and sent to a receiving end.
2. The method according to claim 1, characterized in that The first deterministic processing includes at least one of the following processing: integrity protection and encryption.
3. The method according to claim 1, characterized in that The step of sending the target data segments to a receiving end comprises: Obtaining a hash value of the data block to be sent; The hash value of the data block to be sent and the target data segment are sent to the receiving end.
4. The method according to claim 3, characterized in that The step of sending the hash value of the data block to be sent and the target data segments to the receiving end includes: In a case where the target data segment is the first target data segment or the last target data segment of the data block to be sent, the hash value of the data block to be sent and the target data segment are sent to the receiving end.
5. A data transmission method, characterized in that: Applied to the receiving end, including: Receive target data segments; wherein the target data segments are data segments obtained by the transmitting end sequentially performing segmentation processing on the data blocks to be transmitted, and performing a first deterministic processing on the data segments obtained after each segmentation processing; Performing a second deterministic processing on the target data segment received each time; The target data segments after the second deterministic processing are combined in sequence to obtain a target data block.
6. The method according to claim 5, characterized in that The receiving target data segment comprises: Receive the hash value of the to-be-sent data block and the target data segment sent by the sending end.
7. The method according to claim 6, characterized in that The receiving the hash value of the to-be-sent data block and the target data segment sent by the sending end includes: In a case where the target data segment is the first target data segment or the last target data segment of the data block to be sent, a hash value of the data block to be sent and the target data segment are received.
8. The method according to claim 6, characterized in that After the target data segments after the second deterministic processing are sequentially combined to obtain the target data blocks, the method further includes: Calculating a hash value of the target data block; Based on the hash value of the data block to be sent and the hash value of the target data block, the certainty of the target data block is verified.
9. The method according to claim 5, characterized in that After performing the second deterministic processing on each received target data segment, the method further includes: The number of consecutive failures of the second deterministic processing is counted.
10. The method according to claim 9, characterized in that The counting of the number of consecutive failures of the second deterministic processing includes: determining whether the second deterministic processing of the target data segment is successful; In the case where the second deterministic processing of the target data segment fails, adding 1 to the number of consecutive failures of the second deterministic processing; If the second deterministic processing is successful, the number of consecutive failures of the second deterministic processing is set to 0.
11. The method according to claim 10, characterized in that After counting the number of consecutive failures of the second deterministic processing, the method further includes: Determining whether the second deterministic processing consecutive failure number is greater than or equal to a preset consecutive failure number threshold; In a case where the number of consecutive failures of the second deterministic processing is greater than or equal to a preset consecutive failure number threshold, initiating a request for reestablishing a radio resource control RRC connection to the transmitting end; When the second deterministic processing consecutive failure times are less than a preset consecutive failure times threshold, a request for resending the target data segment is sent to the sending end.
12. The method according to claim 11, characterized in that After initiating a request for reestablishing a radio resource control RRC connection to the transmitting end, the method further includes: discard all the target data segments currently received; or, After re-establishing the RRC connection with the sending end, continue to receive the target data segment that was not successfully sent by the sending end.
13. The method according to claim 5, characterized in that The second deterministic processing includes at least one of the following checks: integrity check, decryption.
14. A data transmission device, characterized in that: Applied to the sending end, including: A segmentation module is used to segment the data blocks to be sent in sequence; A first deterministic processing module is used to perform a first deterministic processing on the data segments obtained after each segmentation processing to obtain target data segments; The sending module is used to send the target data in segments to a receiving end.
15. A data transmission device, characterized in that: Applied to the receiving end, including: A receiving module, configured to receive target data segments; wherein the target data segments are data segments obtained by the transmitting end sequentially performing segmentation processing on the data blocks to be transmitted, and performing a first deterministic processing on the data segments obtained after each segmentation processing; A second deterministic processing module, configured to perform a second deterministic processing on the target data segment received each time; The combining module is used to sequentially combine the target data segments after deterministic verification to obtain a target data block.
16. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, the steps of the method described in any one of claims 1 to 4 are implemented, or the steps of the method described in any one of claims 5 to 13 are implemented.
17. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the processor implements the steps of the method described in any one of claims 1 to 4, or implements the steps of the method described in any one of claims 5 to 13.
Citation Information
Cited By
Data transmission methods and apparatuses
EP4800973A1
Data transmission methods and apparatuses
WO2025091904A1