Data transmission methods and apparatuses

By performing segmented processing and deterministic processing of data blocks at the sending and receiving ends of the wireless communication system, the problem of lack of deterministic guarantees for big data transmission in the prior art is solved, and the reliability and integrity of data transmission are achieved.

WO2025091904A1PCT designated stage expired Publication Date: 2025-05-08ZTE CORP
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/097358
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-03
Filing Date
2024-06-04
Publication Date
2025-05-08

AI Technical Summary

Technical Problem

The existing wireless communication systems lack deterministic guarantee strategies for big data transmission and cannot guarantee the reliability of big data transmission generated within the system.

Method used

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. The receiving end then performs a second deterministic process on the received target data segment and combines it into a complete data block.

Benefits of technology

It realizes deterministic guarantees for data segmentation transmission and the entire data block transmission, and can promptly detect and process errors that occur during data segmentation, and provide remedial measures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024097358_08052025_PF_FP_ABST
    Figure CN2024097358_08052025_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the embodiments of the present disclosure are data transmission methods and apparatuses. A data transmission method, applied to a sending end, comprises: sequentially performing segmentation processing on a data block to be sent; performing first deterministic processing on data segments obtained after each instance of segmentation processing, so as to obtain a target data segment; and sending the target data segment to a receiving end.
Need to check novelty before this filing date? Find Prior Art

Description

Data transmission method and device

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This disclosure is based on and claims the priority of Chinese patent application No. 202311465370.8 filed on November 3, 2023, and all the disclosed contents are incorporated into this disclosure by reference. Technical Field

[0003] The present disclosure relates to the field of communications, and in particular to a data transmission method and apparatus. Background Art

[0004] In existing wireless communication systems, most application layer data transmitted is IP packets, which are typically 1500 bytes (standard Ethernet frames) or 9000 bytes (Jumbo frames). However, in future wireless communication systems (such as 6G), due to support for 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 within the system. The main difference between this type of large file data transmission and IP packet transmission 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.

[0005] However, existing wireless communication systems do not have a deterministic guarantee strategy for this type of large data transmission.

[0006] Summary of the Invention

[0007] The embodiments of the present disclosure provide a data transmission method and apparatus to at least solve the problem in the related art that there is no deterministic guarantee strategy for large data transmission.

[0008] According to an embodiment of the present disclosure, a data transmission method is provided, which is applied to a transmitting end and includes:

[0009] The data blocks to be sent are segmented in sequence;

[0010] Performing a first deterministic processing on the data segments obtained after each segmentation process to obtain target data segments;

[0011] Send the target data segments to the receiving end.

[0012] According to another embodiment of the present disclosure, a data transmission method is provided, which is applied to a receiving end and includes:

[0013] Receive target data segments; wherein the target data segments are data segments obtained by the transmitting end sequentially segmenting the data blocks to be sent and performing a first deterministic processing on the data segments obtained after each segmentation process;

[0014] performing a second deterministic processing on each received target data segment;

[0015] The target data segments after the second deterministic processing are sequentially combined to obtain target data blocks.

[0016] According to another embodiment of the present disclosure, a data transmission device is provided, which is applied to a transmitting end and includes:

[0017] A segmentation module is configured to sequentially segment the data blocks to be sent;

[0018] a first deterministic processing module configured to perform a first deterministic processing on the data segments obtained after each segmentation process to obtain target data segments;

[0019] The sending module is configured to send target data in segments to a receiving end.

[0020] According to another embodiment of the present disclosure, a data transmission device is provided, which is applied to a receiving end and includes:

[0021] a receiving module configured to receive target data segments; wherein the target data segments are data segments obtained by the transmitting end sequentially segmenting the data blocks to be sent and performing a first deterministic processing on the data segments obtained after each segmentation process;

[0022] a second deterministic processing module, configured to perform a second deterministic processing on each received target data segment;

[0023] The combining module is configured to sequentially combine the target data segments after deterministic verification to obtain target data blocks.

[0024] According to another embodiment of the present disclosure, a computer-readable storage medium is provided, in which a computer program is stored. The computer program is configured to execute the steps of any one of the above method embodiments when running.

[0025] According to another embodiment of the present disclosure, an electronic device is provided, 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 perform the steps in any one of the above method embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] FIG1 is a hardware structure block diagram of a mobile terminal according to a data transmission method according to an embodiment of the present disclosure;

[0027] FIG2 is a flow chart of a data transmission method according to an embodiment of the present disclosure;

[0028] FIG3 is a flowchart of a data transmission method according to another embodiment of the present disclosure;

[0029] FIG4 is a schematic diagram of a process for protecting data integrity according to an embodiment of the present disclosure;

[0030] FIG5 is a schematic diagram of a process of data integrity check at a receiving end according to an embodiment of the present disclosure;

[0031] FIG6 is a schematic diagram of a data encryption process according to an embodiment of the present disclosure;

[0032] FIG7 is a schematic diagram of a process of data decryption at a receiving end according to an embodiment of the present disclosure;

[0033] FIG8 is a structural block diagram of a data transmission device according to an embodiment of the present disclosure;

[0034] FIG9 is a structural block diagram of a data transmission device according to another embodiment of the present disclosure. DETAILED DESCRIPTION

[0035] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings and in conjunction with embodiments.

[0036] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0037] In existing wireless communication systems, the network doesn't need to consider the deterministic transmission of large data (such as large files) because large files are already fragmented at the application layer, and the network only needs to ensure the deterministic transmission of a specific data packet. However, for the big data generated within the system (such as AI data, perception data, computing power data, etc.), existing wireless communication systems lack corresponding deterministic transmission methods, making it impossible to guarantee the reliability of large data transmission.

[0038] Based on the problems existing in the above-mentioned prior art, an embodiment of the present disclosure provides a data transmission method, the technical concept of which 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 of the lack of a 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.

[0039] The method embodiments provided in the embodiments of the present disclosure 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 is a hardware structure block diagram of a mobile terminal of a data transmission method in an embodiment of the present disclosure. As shown in Figure 1, the mobile terminal may include one or more (only one is shown in Figure 1) processors 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 above-mentioned mobile terminal may also include a transmission device 106 and an input and output device 108 for communication functions. It can be understood by those skilled in the art that the structure shown in Figure 1 is only for illustration and does not limit the structure of the above-mentioned mobile terminal. For example, the mobile terminal may also include more or fewer components than those shown in Figure 1, or have a configuration different from that shown in Figure 1.

[0040] 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 disclosure. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, implementing the above-mentioned 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 located 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.

[0041] The transmission device 106 is used to receive or send data via a network. A specific example of the aforementioned network may include a wireless network provided by the mobile terminal's communications provider. In one embodiment, the transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to enable communication with the Internet. In another embodiment, the transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0042] The data transmission method of the embodiments of the present disclosure 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.

[0043] In this embodiment, a data transmission method is provided. FIG2 is a flow chart of the data transmission method according to an embodiment of the present disclosure, which is applied to a transmitting end. As shown in FIG2 , the flow chart includes the following steps:

[0044] Step S201: segment the data blocks to be sent in sequence.

[0045] In the embodiment of the present disclosure, during the transmission of a large data block, due to limited transmission resources (such as air interface resources), segmented transmission can be adopted. For example, the transmitting end can sequentially segment the transmitted data block according to the segmentation mechanism.

[0046] Step S202 : performing a first deterministic processing on the data segments obtained after each segmentation process to obtain target data segments.

[0047] Step S203: Send the target data segments to the receiving end.

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

[0049] In an exemplary embodiment, the first deterministic processing includes at least one of the following processes: integrity protection and encryption.

[0050] 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 may be integrity protection followed by encryption, or encryption followed by integrity protection. This is not limited in the present embodiment.

[0051] In the disclosed embodiment, the sending end may first segment a large data block and then perform integrity protection or encryption on the data segments obtained by the segmented processing. This can avoid the problem in related technologies where only integrity protection or encryption is performed on the entire large data block, and when integrity check or decryption errors occur in a certain data segment during the transmission process, the problem cannot be discovered in a timely manner.

[0052] 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 (such as using the 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, and then perform a second segmentation processing 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.

[0053] 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, send the first encrypted data segment to the receiving end, and then perform a second segmentation processing on the data block, and repeat the above process until all encrypted data segments of the data block are sent to the receiving end.

[0054] In an exemplary embodiment, sending the target data segment to the receiving end includes: obtaining 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.

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

[0056] As an example, the sending end can 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 the corresponding deterministic processing on each target data segment and then performs hash value verification on the entire data block.

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

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

[0059] In the embodiment of the present disclosure, 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.

[0060] In this embodiment, a data transmission method is provided. FIG3 is a flow chart of a data transmission method according to another embodiment of the present disclosure, which is applied to a receiving end. As shown in FIG3 , the flow chart includes the following steps:

[0061] Step 301: Receive target data segments; wherein, the target data segments are data segments obtained by the transmitter performing segmentation processing on the data blocks to be sent in sequence and performing a first deterministic processing on the data segments obtained after each segmentation processing.

[0062] In the embodiment of the present disclosure, the receiving end may sequentially receive target data segments sent by the transmitting end, wherein the target data segments may be data segments obtained by the transmitting end sequentially segmenting the data blocks to be sent and performing a first deterministic processing on the data segments obtained after each segmentation process.

[0063] As an example, the sending end can perform a first deterministic processing on the first data segment obtained from 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 from 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.

[0064] In an exemplary embodiment, the receiving the target data segment includes: receiving a hash value of a to-be-sent data block and the target data segment sent by the sending end.

[0065] As an example, the receiving end may receive the hash value of the data block and any target data segment of the data block and send it to the receiving end, 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.

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

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

[0068] Step 302: Perform a second deterministic processing on each received target data segment.

[0069] As an example, the receiving end may perform the second deterministic processing on the target data segment after receiving the target data segment.

[0070] In an exemplary embodiment, the second deterministic processing includes at least one of the following checks: integrity check, decryption.

[0071] 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 integrity verification on the first integrity-protected data segment.

[0072] The receiving end can perform integrity checks on each integrity-protected data segment sent by the sending end in sequence.

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

[0074] The receiving end can decrypt each encrypted data segment sent by the sending end in sequence.

[0075] 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 followed by decryption, or decryption followed by integrity checking. This is not a limitation in the present embodiment.

[0076] Step 303: Combine the target data segments after the second deterministic processing in sequence to obtain target data blocks.

[0077] As an example, the receiving end may sequentially combine the target data segments after integrity verification and / or decryption to obtain a target data block.

[0078] In an exemplary embodiment, after sequentially combining the target data segments after the second deterministic processing to obtain target data blocks, the method further includes:

[0079] Calculating a hash value of the target data block;

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

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

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

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

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

[0085] In an exemplary embodiment, counting the number of consecutive failures of the second deterministic processing may specifically include:

[0086] determining whether the second deterministic processing of the target data segment is successful;

[0087] 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;

[0088] If the second deterministic processing is successful, the number of consecutive failures of the second deterministic processing is set to 0.

[0089] 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 the second deterministic processing is determined for all target data segments of the data block.

[0090] In an exemplary embodiment, after counting the number of consecutive failures of the second deterministic processing, the method further includes:

[0091] Determining whether the second deterministic processing consecutive failure number is greater than or equal to a preset consecutive failure number threshold;

[0092] Initiating a request for re-establishing 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 threshold;

[0093] In a case where the second deterministic processing consecutive failure count is less than a preset consecutive failure count threshold, a request for resending the target data segment is sent to the sending end.

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

[0095] As an example, it can be determined whether the number of consecutive failures of the second deterministic processing is greater than or equal to the 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-establishment of the radio resource control RRC connection can be initiated to the sending end, thereby re-establishing the communication connection with the sending end.

[0096] As an example, when the second deterministic processing consecutive failure count is less than a preset consecutive failure count 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.

[0097] In an exemplary embodiment, after initiating a request for re-establishing a radio 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.

[0098] As an example, after initiating a request for re-establishing a radio resource control RRC connection to the sender, all currently received target data segments can be discarded, or after re-establishing the RRC connection with the sender, the target data segments that the sender has not successfully sent can continue to be received.

[0099] In the disclosed embodiment, the receiving end performs a second deterministic processing on each received target data segment and sequentially combines the target data segments after the second deterministic processing to obtain a target data block. 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 the first deterministic processing on the data segment obtained after each segmentation processing. This 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 data segment transmission and the determinism of the entire data block transmission. Furthermore, errors discovered during the data segmentation process can be promptly discovered and remedial measures can be provided.

[0100] To facilitate understanding of the embodiments of the present disclosure, the embodiments of the present disclosure are further described below through several examples.

[0101] Example 1

[0102] During the transmission of large data blocks, due to limited transmission resources (such as air interface resources), they generally need to be sent in segments. The sending end performs integrity protection on each data segment (such as using the MAC-I mechanism, etc.), and the receiving end performs integrity verification on each data segment and takes corresponding processing based on the verification results. After the entire large data block is completely 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 schematic diagram of the data integrity protection process according to an embodiment of the present disclosure. As shown in Figure 4, the specific steps are as follows:

[0103] Step 401: The sending end calculates the hash value of the entire data block (such as a file) to be sent;

[0104] For example, algorithms such as MD5 / SHA1 / SHA256 may be used to calculate the hash value of the data block.

[0105] Step 402: The sending end segments the data block according to the segmentation mechanism, performs integrity protection on each data segment, and generates an integrity check mark corresponding to each data segment;

[0106] Exemplarily, a MAC-I mechanism may be used to perform integrity protection on each data segment.

[0107] 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;

[0108] Exemplarily, a MAC-I mechanism may be used to perform integrity check on each data segment.

[0109] Step 404: After receiving the data segment, the receiving end performs a data segment integrity check;

[0110] Step 405: The sending end continues data segmentation and integrity protection processing;

[0111] 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;

[0112] Step 407: After receiving the data segments, the receiving end performs integrity checks on the data segments in sequence;

[0113] Step 408: After receiving all segments of the data block, the receiving end starts to verify the hash value of the data block. If the verification is successful, 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.

[0114] Exemplarily, the hash value of the data block may also be sent together with the first data segment.

[0115] Example 2

[0116] FIG5 is a flow chart of a data integrity check process at the receiving end according to an embodiment of the present disclosure, wherein the "number of consecutive integrity check failures" can be denoted as C1, and the "maximum consecutive integrity check failure threshold" can be denoted as X1. X1 can be predefined or preconfigured. As shown in FIG5 , the specific steps are as follows:

[0117] Step 501: The receiving end receives the data segment;

[0118] Step 502: Perform data segment integrity check and determine whether the check is successful;

[0119] Step 503: If the integrity check succeeds, C1 is set to 0;

[0120] Step 504: If the integrity check fails, C1 is incremented by 1;

[0121] Step 505: Determine whether C1 is greater than or equal to X1;

[0122] 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;

[0123] Step 507: If C1 is smaller than X1, the sending end is notified to resend the data segment.

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

[0125] As an example, this process can also be applied to a complete data packet.

[0126] Example 3

[0127] During the transmission of large data blocks, they often need to be segmented. If only the entire large data block is encrypted, then when a decryption error occurs in a data segment during transmission, it cannot be discovered in time. This example provides a data block encryption mechanism that can ensure that decryption errors are discovered in a timely manner so that necessary remedial measures can be taken. Figure 6 is a schematic diagram of the data encryption process according to an embodiment of the present disclosure. As shown in Figure 6, the specific steps are as follows:

[0128] Step 601: The sending end segments the data block according to the segmentation mechanism and encrypts each segmented data separately;

[0129] Step 602: The transmitting end sends the first data segment of the data block to the receiving end;

[0130] Step 603: After receiving the data segment, the receiving end decrypts the data segment;

[0131] Step 604: The sending end continues data segmentation and encryption processing;

[0132] Step 605: The transmitting end sends the last data segment of the data block to the receiving end;

[0133] Step 606: After receiving the data segment, the receiving end decrypts the data segment.

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

[0135] Example 4

[0136] FIG7 is a flow chart of data decryption at the receiving end according to an embodiment of the present disclosure, wherein the "number of consecutive decryption failures" is denoted as C2, and the "maximum consecutive decryption failure threshold" is denoted as X2. The threshold X2 can be predefined or preconfigured. As shown in FIG7 , the specific steps are as follows:

[0137] Step 701: The receiving end receives the data segment;

[0138] Step 702: Decrypt the data segment by segment and determine whether the decryption is successful;

[0139] Step 703: If the decryption is successful, C2 is set to 0;

[0140] Step 704: If decryption fails, C2 is incremented by 1;

[0141] Step 705: Determine whether C2 is greater than or equal to X2;

[0142] Step 706: If C2 is greater than or equal to X2, trigger RRC connection re-establishment and discard all received segments of the data block;

[0143] Step 707: If C2 is less than X2, notify the sending end to resend the data segment.

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

[0145] As an example, this process can also be applied to a complete data packet.

[0146] 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 the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present disclosure is essentially 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), including a number of instructions for enabling 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 disclosure.

[0147] This embodiment also provides a data transmission device for implementing the above-mentioned embodiments and exemplary implementations. Details already described will not be repeated here. As used below, the term "module" may refer to a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation using hardware, or a combination of software and hardware, is also possible and contemplated.

[0148] FIG8 is a structural block diagram of a data transmission device according to an embodiment of the present disclosure. As shown in FIG8 , the device is applied to a transmitting end and includes:

[0149] Segmentation module 801, configured to sequentially segment the data blocks to be sent;

[0150] A first deterministic processing module 802 is configured to perform a first deterministic processing on the data segments obtained after each segmentation process to obtain target data segments;

[0151] The sending module 803 is configured to send the target data segments to the receiving end.

[0152] In an exemplary embodiment, the first deterministic processing includes at least one of the following processes: integrity protection and encryption.

[0153] In an exemplary embodiment, the sending module 803 includes:

[0154] A first acquisition submodule is configured to obtain a hash value of the data block to be sent;

[0155] The sending submodule is configured to send the hash value of the data block to be sent and the target data segments to the receiving end.

[0156] In an exemplary embodiment, the sending submodule includes:

[0157] The sending unit is configured 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.

[0158] FIG9 is a structural block diagram of a data transmission device according to another embodiment of the present disclosure, which is applied to a receiving end. As shown in FIG9 , the device includes:

[0159] The receiving module 901 is configured to receive target data segments; wherein the target data segments are data segments obtained by the transmitting end sequentially segmenting the data blocks to be sent and performing a first deterministic processing on the data segments obtained after each segmentation process;

[0160] A second deterministic processing module 902 is configured to perform a second deterministic processing on each received target data segment;

[0161] The combining module 903 is configured to sequentially combine the target data segments after deterministic verification to obtain a target data block.

[0162] In an exemplary embodiment, the receiving module 901 includes:

[0163] The first receiving submodule is configured to receive the hash value of the to-be-sent data block and the target data segment sent by the sending end.

[0164] In an exemplary embodiment, the first receiving submodule includes:

[0165] The receiving unit is configured 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.

[0166] In an exemplary embodiment, the method further includes:

[0167] a calculation module configured to, after sequentially combining the target data segments after the second deterministic processing to obtain a target data block, calculate a hash value of the target data block;

[0168] The verification module is configured 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.

[0169] In an exemplary embodiment, the method further includes:

[0170] The counting module is configured to count the number of consecutive failures of the second deterministic processing.

[0171] In an exemplary embodiment, the counting module includes:

[0172] a first judgment submodule, configured to judge whether the second deterministic processing of the target data segment is successful;

[0173] a counting submodule, configured to, when the second deterministic processing of the target data segment fails, add 1 to the number of consecutive failures of the second deterministic processing;

[0174] The zeroing submodule is configured to set the number of consecutive failures of the second deterministic processing to 0 when the second deterministic processing succeeds.

[0175] In an exemplary embodiment, the method further includes:

[0176] a first judgment submodule configured to, after counting the number of consecutive failures of the second deterministic processing, determine whether the number of consecutive failures of the second deterministic processing is greater than or equal to a preset consecutive failure threshold;

[0177] A first request submodule is configured to initiate a request for re-establishing 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 threshold;

[0178] The 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.

[0179] In an exemplary embodiment, the method further includes:

[0180] a discarding submodule, configured to discard all the target data segments currently received after initiating a request for re-establishing a radio resource control RRC connection to the transmitting end; or

[0181] The second receiving submodule is configured 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.

[0182] In an exemplary embodiment, the second deterministic processing includes at least one of the following checks: integrity check, decryption.

[0183] It should be noted that the above modules can be implemented through 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.

[0184] An embodiment of the present disclosure further provides a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps of any one of the above method embodiments when run.

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

[0186] An embodiment of the present disclosure further provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.

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

[0188] 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 here.

[0189] Obviously, those skilled in the art should understand that the modules or steps of the present disclosure described above can be implemented using a general-purpose computing device, they can be concentrated on a single computing device, or distributed across a network composed of multiple computing devices, they can be implemented using program code executable by the computing device, and thus, 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 performed in a different order than herein, or they can be fabricated into separate integrated circuit modules, or multiple modules or steps can be fabricated into a single integrated circuit module for implementation. Thus, the present disclosure is not limited to any particular combination of hardware and software.

[0190] The foregoing is merely an exemplary embodiment of the present disclosure and is not intended to limit the present disclosure. Those skilled in the art will readily appreciate that the present disclosure is susceptible to various modifications and variations. Any modifications, equivalent substitutions, improvements, and the like made within the principles of the present disclosure shall be included within the scope of protection of the present disclosure.

Claims

1. A data transmission method, applied to a sending end, comprising: 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, wherein: The first deterministic processing includes at least one of the following processing: integrity protection and encryption.

3. The method according to claim 1, wherein: 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, wherein: 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, wherein: 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, wherein: 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, wherein: 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, wherein: 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, wherein: 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, wherein: 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, wherein: 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 number of consecutive failures of the second deterministic processing is less than a preset consecutive failure number threshold, a request for resending the target data segment is sent to the sending end.

12. The method according to claim 11, wherein: 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, wherein: The second deterministic processing includes at least one of the following checks: integrity check, decryption.

14. A data transmission device, applied to a sending end, comprising: A segmentation module, configured to sequentially segment the data blocks to be sent; A first deterministic processing module is configured to perform a first deterministic processing on the data segments obtained after each segmentation processing to obtain target data segments; The sending module is configured to send the target data in segments to a receiving end.

15. A data transmission device, applied to a receiving end, comprising: 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 configured to sequentially combine the target data segments after the deterministic verification to obtain a target data block.

16. A computer-readable storage medium having a computer program stored therein, 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

Patent Citations

  • Data transmission method and device

    CN119946637A

  • Cloud data integrity detection method and system based on block chain

    CN109194466A

  • Data processing method and device

    CN110798478A

  • File processing method and device, server, equipment and storage medium

    CN112905542A

  • Communication system, communication device and communication method

    JP2014225813A