Data transmission control method and electronic equipment

Through the data transmission method that carries the target content in the network file system, the problem of excessive consumption of transmission resources caused by network packet loss is solved, and the effect of improving data transmission efficiency is achieved.

CN119853871APending Publication Date: 2025-04-18LENOVO (BEIJING) LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202411975843.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

In network file systems, network packet loss causes excessive consumption of transmission resources between devices, affecting data transmission efficiency.

Method used

By carrying the target content matching the previously sent second information in the first information sent on the first device, the second device can send a target data packet matching the target content to the first device without receiving the second information, avoiding the first device from retransmitting the second information to the second device.

Benefits of technology

The transmission amount of non-packet type information is reduced between the first device and the second device, the consumption of transmission resources between the devices is reduced, and the data transmission delay is reduced, and the data transmission efficiency is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119853871A_ABST
    Figure CN119853871A_ABST
Patent Text Reader

Abstract

The invention discloses a data transmission control method and electronic equipment. The method comprises the following steps: acquiring first information on first equipment; the first information comprises target content matched with the second information; the second information is historical information sent to second equipment by the first equipment before the first information; the first information is sent to the second equipment; the target content is used for the second equipment to send a target data packet matched with the target content to the first equipment under the condition that the second information is not received.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular to a data transmission control method and electronic equipment. Background Art

[0002] In the Network File System (NFS), if network packet loss occurs, the lost packets can be retransmitted.

[0003] However, retransmission will lead to excessive consumption of transmission resources between devices, affecting data transmission efficiency. Summary of the invention

[0004] In view of this, the present application provides a data transmission control method and an electronic device, as follows:

[0005] A data transmission control method, the method comprising:

[0006] obtaining first information on a first device; the first information including target content matching second information; the second information being historical information sent by the first device to the second device before the first information;

[0007] The first information is sent to the second device; the target content is used for the second device to send a target data packet matching the target content to the first device without receiving the second information.

[0008] In the above method, preferably, when the first information and the second information are read requests, the target content includes: a read parameter corresponding to the second information, the read parameter pointing to a data packet requested by the first device to be read from the second device;

[0009] In the case where the first information and the second information are write responses, the target content includes: write parameters corresponding to the second information, the write parameters pointing to the data packets that the second device has written into the first device.

[0010] A data transmission control method, comprising:

[0011] receiving, on a second device, first information sent by a first device; the first information including target content matching the second information; the second information being historical information sent by the first device to the second device before the first information;

[0012] determining, according to the target content, whether the second device has received the second information;

[0013] In a case where it is determined that the second device has not received the second information, determining, according to the target content, a target data packet matching the target content;

[0014] Send the target data packet to the first device.

[0015] In the above method, preferably, determining whether the second device has received the second information includes:

[0016] comparing the target content with the historical information that has been received by the second device to determine whether the historical information matches the target content;

[0017] If no historical information matches the target content, determining that the second device has not received the second information;

[0018] In a case where the historical information matches the target content, it is determined that the second device has received the second information.

[0019] In the above method, preferably, the first information further includes a first identifier corresponding to the first information, and the first identifier is used to uniquely represent the first information; the target content at least includes a target identifier corresponding to the second information, and the target identifier is used to uniquely represent the second information;

[0020] The step of comparing the target content with the historical information received by the second device includes:

[0021] comparing the target identifier in the target content with the information identifier corresponding to the historical information that has been received by the second device;

[0022] Wherein, when the information identifier corresponding to the historical information is consistent with the target identifier in the target content, it indicates that the historical information matches the target content;

[0023] If there is no information identifier corresponding to the historical information that is consistent with the target identifier in the target content, it indicates that there is no historical information that matches the target content.

[0024] In the above method, preferably, the target content includes: an access parameter corresponding to the second information, the access parameter pointing to a data packet that the second device needs to transmit to the first device;

[0025] Wherein, determining a target data packet matching the target content includes:

[0026] According to the access parameters in the target content, data packet addressing is performed in the second device to obtain the target data packet.

[0027] Preferably, the method of sending the target data packet to the first device includes:

[0028] Dividing the target data packet into a plurality of data segments; the data segments have a transmission order;

[0029] sending the data segments to the first device in sequence according to the transmission order;

[0030] Among them, the data fragments ranked last in the transmission order carry at least one target fragment, and there is redundancy between the data fragments and the target fragments they carry, and N is a positive integer greater than or equal to 1.

[0031] In the above method, preferably, the number of target fragments carried by the data fragments is related to the transmission order corresponding to the data fragments.

[0032] An electronic device, as a first device, includes:

[0033] A processing module, configured to obtain first information; the first information includes target content matching second information; the second information is historical information sent by the first device to the second device before the first information;

[0034] A communication module is used to send the first information to the second device; the target content is used for the second device to send a target data packet matching the target content to the first device without receiving the second information.

[0035] An electronic device, as a second device, includes:

[0036] A communication module, configured to receive, on a second device, first information sent by a first device; the first information includes target content matching the second information; the second information is historical information sent by the first device to the second device before the first information;

[0037] a processing module, configured to determine, according to the target content, whether the second device has received the second information; and if it is determined that the second device has not received the second information, determine, according to the target content, a target data packet matching the target content;

[0038] The communication module is further used to send the target data packet to the first device.

[0039] It can be seen from the above technical scheme that in a data transmission control method and electronic device disclosed in the present application, when sending the first information on the first device, the target content matching the second information sent previously is carried in the first information. Thus, the second device can send a target data packet matching the target content to the first device even if it has not received the second information. The first device does not need to retransmit the second information to the second device, and the second device can also send the target data packet pointed to by the target content to the first device. This can reduce the amount of non-data packet type information transmitted between the first device and the second device, thereby reducing the consumption of transmission resources between devices, and further reducing data transmission delays, thereby achieving the purpose of improving data transmission efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0041] Figure 1 A flowchart of a data transmission control method provided in an embodiment of the present application;

[0042] Figure 2 This is a diagram of the architecture between the first device and the second device in an embodiment of the present application;

[0043] Figure 3 This is an example diagram of sequentially transmitting second information and first information between a first device and a second device in an embodiment of the present application;

[0044] Figure 4 A flowchart of another data transmission control method provided in an embodiment of the present application;

[0045] Figure 5 A partial flow chart of a data transmission control method provided in an embodiment of the present application;

[0046] Figure 6 Another partial flow chart of a data transmission control method provided in an embodiment of the present application;

[0047] Figure 7 This is an example diagram of a data packet being transmitted between a first device and a second device in an embodiment of the present application;

[0048] Figure 8 A schematic diagram of the structure of a data transmission control device provided in an embodiment of the present application;

[0049] Fig. 9A schematic diagram of the structure of another data transmission control device provided in an embodiment of the present application;

[0050] Fig.10 A result schematic diagram of an electronic device provided by an embodiment of the present application;

[0051] Fig.11 A schematic diagram of the structure of another electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

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

[0053] refer to Figure 1 As shown, it is a flowchart of a data transmission control method provided in an embodiment of the present application. The method can be applied to electronic devices capable of data transmission, such as Figure 2 The first device shown in the figure is an electronic device that participates in data transmission in a network file system, and the second device sends a data packet to the first device. For example, the first device requests the second device to read a data packet; or the second device requests the first device to write a data packet. The first device can be one of the client and the server, and the second device can be the other of the client and the server. The technical solution in this embodiment is mainly used to reduce the consumption of transmission resources between devices, so as to improve the efficiency of data transmission.

[0054] Specifically, the method in this embodiment may include the following steps:

[0055] Step 101: Obtain first information on a first device.

[0056] The first information includes target content that matches the second information. The second information is historical information sent by the first device to the second device before the first information.

[0057] For example, Figure 3 As shown in , before the first information, the first device sends at least one second information to the second device. The first information and the second information are used to instruct the second device to send a corresponding data packet to the first device.

[0058] In one case, the first information and the second information may be information of a read request, that is, the first device sends multiple read requests to the second device in sequence to request to read corresponding data packets from the second device. The first device has sent at least one second read request to the second device before the first read request, and the first read request contains target content that matches the second read request.

[0059] In another case, the first information and the second information may be information of a write response, that is, after the second device sequentially writes a data packet to the first device, the first device sequentially sends a corresponding write response to the second device, and the write response represents the data packet that has been successfully written into the first device. The first device has sent at least one second write response to the second device before the first write response, and the first write response contains target content that matches the second write response.

[0060] Step 102: Send the first information to the second device.

[0061] The target content is used by the second device to send a target data packet matching the target content to the first device without receiving the second information.

[0062] In one case, the first information is a first read request. After the first read request is sent to the second device, the second device can obtain the target content from the first read request. Without receiving the second read request, the second device can also determine the target data packet corresponding to the second read request according to the target content in the first read request, that is, the target data packet that the first device did not read successfully. Based on this, the target data packet matching the target content can be sent to the first device. During this process, the first device does not need to resend the second read request to the second device.

[0063] In another case, the first information is a first write response. After the first write response is sent to the second device, the second device can obtain the target content from the first write response. If the second device does not receive the second write response, it can also determine the target data packet that corresponds to the second write response according to the target content in the first write response, that is, the target data packet that was not successfully written to the first device. Based on this, the target data packet matching the target content can be sent to the first device. In this process, the first device does not need to resend the second write response to the second device.

[0064] It can be seen from the above technical scheme that in a data transmission control method provided by an embodiment of the present application, when sending the first information on the first device, the target content matching the second information sent previously is carried in the first information. Thus, the second device can also send the target data packet matching the target content to the first device when it has not received the second information. The first device does not need to retransmit the second information to the second device, and the second device can also send the target data packet pointed to by the target content to the first device. This can reduce the transmission amount of non-data packet type information transmitted between the first device and the second device, thereby reducing the consumption of transmission resources between devices, and further reducing data transmission delay, thereby achieving the purpose of improving data transmission efficiency.

[0065] In one implementation, when the first information and the second information are read requests, the target content may include: a read parameter corresponding to the second information, where the read parameter points to a data packet that the first device requests the second device to read.

[0066] The read parameters may include an offset address of a target data packet and a data length of the target data packet.

[0067] Furthermore, the first information includes a corresponding read identifier and a read parameter, the read identifier is used to uniquely represent the first information and the order in which the first information is sent by the first device to the second device. The read parameter points to the data packet represented by the first information that the first device requests the second device to read.

[0068] For example, the request format for a read request is as follows:

[0069] Stuct Read_req{

[0070] Nfs_header0[fix_len0];

[0071] Int xid; / / Read the ID

[0072] Int prog; / / is a fixed value, representing the type of read request, and is the identifier FS_RAED

[0073] Nfs_header1[fix_len1];

[0074] Int offset; / / Offset address

[0075] Int count; / / data length

[0076] Char contprevious; / / The read identifier of the read request sent previously

[0077] Int offset_previous[contprevious] / / Offset address corresponding to the previously sent read request Intcount_previous[contprevious] / / Data length corresponding to the previously sent read request

[0078] }

[0079] In this embodiment, a separate identifier (ie, xid) range is set for the read request, such as [xid_write_min, xid_write_max], and the read identifiers xids in the identifier range are continuous, so that the second device can determine the read request that has not been received.

[0080] In another implementation, when the first information and the second information are write responses, the target content may include: write parameters corresponding to the second information, the write parameters pointing to the data packet that the second device has written into the first device.

[0081] The write parameter may include the data length of the target data packet.

[0082] Furthermore, the first information includes a corresponding write identifier and a write parameter, the write identifier is used to uniquely represent the first information and the order in which the first information is sent from the first device to the second device, and the write parameter points to the data packet written by the second device represented by the first information to the first device.

[0083] For example, the response format for a write response is as follows:

[0084] The response format for writing a file is

[0085] Stuct Write_rsp{

[0086] Nfs_header_rsp0[fix_len0];

[0087] Int xid; / / Write ID

[0088] Int prog;

[0089] Nfs_header_rsp1[fix_len1];

[0090] Int count; / / data length

[0091] Char contprevious; / / Write flag corresponding to the write response sent previously

[0092] Int count_previous[contprevious]; / / The data length corresponding to the write response sent previously

[0093] }

[0094] Among them, in this embodiment, a separate identifier (i.e., xid) range is set for the write request, such as [xid_write_min, xid_write_max], the write identifier xid in the write response is consistent with the write identifier xid in the corresponding write request, and the write identifiers xid in the identifier range are continuous, so that the second device can determine that it has not received a write response.

[0095] refer to Figure 4 , is a flow chart of a data transmission control method provided in an embodiment of the present application, which can be applied to electronic devices capable of data transmission, such as Figure 2 The technical solution in this embodiment is mainly used to reduce the consumption of transmission resources between devices, so as to improve the data transmission efficiency.

[0096] Specifically, the method in this embodiment may include the following steps:

[0097] Step 401: Receive, on a second device, first information sent by a first device.

[0098] The first information includes target content that matches the second information. The second information is historical information sent by the first device to the second device before the first information.

[0099] It should be noted that the information format of the first information in this embodiment can refer to the embodiment content in the previous text and will not be described in detail here.

[0100] Step 402: Determine whether the second device has received the second information according to the target content. If it is determined that the second device has not received the second information, execute step 403.

[0101] Step 403: Determine a target data packet matching the target content according to the target content.

[0102] Step 404: Send the target data packet to the first device.

[0103] In one case, the first information is a first read request. After the first read request is sent to the second device, the second device can obtain the target content from the first read request. The second device determines whether to receive the second read request based on the target content. If the second read request is not received, the second device can also determine the target data packet corresponding to the second read request according to the target content in the first read request, that is, the target data packet that the first device did not read successfully. Based on this, the target data packet matching the target content can be sent to the first device. During this process, the first device does not need to resend the second read request to the second device.

[0104] In another case, the first information is a first write response. After the first write response is sent to the second device, the second device can obtain the target content from the first write response. The second device determines whether to receive the second write response based on the target content. If the second write response is not received, the second device can also determine the target data packet that corresponds to the second write response according to the target content in the first write response, that is, the target data packet that was not successfully written to the first device. Based on this, the target data packet matching the target content can be sent to the first device. During this process, the first device does not need to resend the second write response to the second device.

[0105] It can be seen from the above technical scheme that in a data transmission control method provided by an embodiment of the present application, when sending the first information on the first device, the target content matching the second information sent previously is carried in the first information. Thus, the second device can also send the target data packet matching the target content to the first device when it has not received the second information. The first device does not need to retransmit the second information to the second device, and the second device can also send the target data packet pointed to by the target content to the first device. This can reduce the transmission amount of non-data packet type information transmitted between the first device and the second device, thereby reducing the consumption of transmission resources between devices, and further reducing data transmission delay, thereby achieving the purpose of improving data transmission efficiency.

[0106] In one implementation, when determining whether the second device receives the second information in step 402, it can be implemented in the following manner: Figure 5 As shown in:

[0107] Step 501: Compare the target content with the historical information received by the second device to determine whether there is any historical information matching the target content. If there is no historical information matching the target content, execute step 502; if there is historical information matching the target content, execute step 503.

[0108] Step 502: Determine that the second device does not receive the second information.

[0109] Step 503: Determine whether the second device has received the second information.

[0110] In a specific implementation, the first information and the second information respectively correspond to information identifiers, such as a read identifier xid of a read request or a write identifier xid of a write response, and the information identifier is used to uniquely characterize the corresponding information and the order in which the information is sent by the first device to the second device.

[0111] For example, in addition to the target content, the first information also includes a first identifier corresponding to the first information, and the first identifier is used to uniquely represent the first information and the order in which the first information is sent from the first device to the second device; for another example, the second information also includes a target identifier corresponding to the second information, and the target identifier is used to uniquely represent the second information and the order in which the second information is sent from the first device to the second device. Correspondingly, the target content in the first information includes a target identifier representing the second information.

[0112] Based on this, in step 502, the target identifier in the target content may be compared with the information identifier corresponding to the historical information that has been received by the second device to determine whether there is historical information matching the target content.

[0113] Among them, when the information identifier corresponding to the historical information is consistent with the target identifier in the target content, it indicates that the historical information matches the target content, and it can be determined that the second device has received the second information; when the information identifier corresponding to the historical information is not consistent with the target identifier in the target content, it indicates that there is no historical information matching the target content, and it can be determined that the second device has not received the second information.

[0114] In one implementation, the target content also includes: an access parameter corresponding to the second information, the access parameter pointing to the data packet that the second device needs to transmit to the first device. For example, when the second information is a second read request, the target content includes a read parameter corresponding to the second read request, the read parameter pointing to the data packet that the first device requests the second device to read; for another example, when the second information is a second write response, the target content includes a write parameter corresponding to the second write response, the write parameter pointing to the data packet that the second device has written to the first device.

[0115] Based on this, when determining the target data packet matching the target content in step 403, data packet addressing can be performed in the second device according to the access parameters in the target content to obtain the target data packet.

[0116] Among them, when the first information and the second information are read requests, the target content includes read parameters corresponding to the second information. Based on this, in this embodiment, the corresponding target data packet is read in the second device according to the offset address and data length in the read parameters.

[0117] When the first information and the obtaining information are write responses, the target content includes write parameters corresponding to the second information. Based on this, in this embodiment, the corresponding target data packet is read in the second device according to the data length in the write parameters.

[0118] In one implementation, when the target data packet is sent to the first device in step 404, it can be implemented in the following manner: Figure 6 As shown in:

[0119] Step 601: Divide the target data packet into multiple data segments.

[0120] There is a transmission order between the data fragments. Figure 7 As shown in , in this embodiment, the target data packet is divided into multiple data segments, such as data segments 1 to M, where M is a positive integer greater than or equal to 2.

[0121] Step 602: Send the data segments to the first device in sequence according to the transmission order.

[0122] Among them, the data fragments ranked last in the transmission order carry at least one target fragment, and there is redundancy between the data fragments and the target fragments they carry, and N is a positive integer greater than or equal to 1.

[0123] For example, Figure 7 As shown in , in this embodiment, when transmitting data fragments in a target data packet, the data fragments are transmitted in different ways based on the transmission order, and at least one data fragment ranked first in the transmission order does not carry a target fragment that is redundant with it, while the data fragment ranked last N in the transmission order carries at least one target fragment that is redundant with it. In this way, the possibility of transmission failure of the second half of the data fragments, i.e., the last N data fragments, is reduced by carrying redundant target fragments, thereby reducing the probability of data fragment retransmission, and further reducing the transmission amount of retransmission requests, thereby reducing the consumption of transmission resources between devices, and achieving the purpose of improving data transmission efficiency.

[0124] Based on the above implementation, the number of target segments carried by the data segments is related to the transmission order corresponding to the data segments.

[0125] The later the transmission order is, the more target fragments a data fragment carries.

[0126] Specifically, in this embodiment, the data transmission delay number between the first device and the second device is first obtained, represented by rtt, and one rtt represents the transmission of a data fragment. If the transmission time of the currently transmitted data fragment is longer than the end time, that is, the time used to transmit the remaining data fragments is greater than k*rtt (that is, the data fragments that are not in the last N in the transmission order), the second device responds to the feedback signal of unsuccessful transmission and retransmits the data fragment; if the transmission time of the currently transmitted data fragment is shorter than k*rtt (that is, the data fragments that are in the last N in the transmission order), the second device carries redundant target fragments for the data fragment, and the number of redundant target fragments is related to the transmission time of the currently transmitted data fragment. The closer to the end, the more redundant target fragments the data fragment carries.

[0127] refer to Figure 8 , is a schematic diagram of the structure of a data transmission control device provided in an embodiment of the present application, which can be deployed in Figure 2 In the first device shown.

[0128] Specifically, the device in this embodiment may include the following units:

[0129] An information obtaining unit 801 is configured to obtain first information on a first device; the first information includes target content matching second information; the second information is historical information sent by the first device to the second device before the first information;

[0130] The information sending unit 802 is used to send the first information to the second device; the target content is used for the second device to send a target data packet matching the target content to the first device without receiving the second information.

[0131] Wherein, in the case where the first information and the second information are read requests, the target content includes: a read parameter corresponding to the second information, the read parameter pointing to a data packet requested by the first device to be read from the second device;

[0132] In the case where the first information and the second information are write responses, the target content includes: write parameters corresponding to the second information, the write parameters pointing to the data packets that the second device has written into the first device.

[0133] It can be seen from the above technical scheme that in a data transmission control device provided by an embodiment of the present application, when sending the first information on the first device, the target content matching the second information sent previously is carried in the first information. Thus, the second device can also send the target data packet matching the target content to the first device when it has not received the second information. The first device does not need to retransmit the second information to the second device, and the second device can also send the target data packet pointed to by the target content to the first device. This can reduce the transmission amount of non-data packet type information transmitted between the first device and the second device, thereby reducing the consumption of transmission resources between devices, and further reducing data transmission delay, thereby achieving the purpose of improving data transmission efficiency.

[0134] refer to Fig. 9 , is a schematic diagram of the structure of a data transmission control device provided in an embodiment of the present application, which can be deployed in Figure 2 In the second device shown.

[0135] Specifically, the device in this embodiment may include the following units:

[0136] An information receiving unit 901 is configured to receive, on a second device, first information sent by a first device; the first information includes target content matching the second information; the second information is historical information sent by the first device to the second device before the first information;

[0137] A receiving determination unit 902 is used to determine whether the second device has received the second information according to the target content; if it is determined that the second device has not received the second information, trigger a data packet determination unit 903;

[0138] A data packet determining unit 903, configured to determine a target data packet matching the target content according to the target content;

[0139] The data packet sending unit 904 is used to send the target data packet to the first device.

[0140] It can be seen from the above technical scheme that in a data transmission control device provided by an embodiment of the present application, when sending the first information on the first device, the target content matching the second information sent previously is carried in the first information. Thus, the second device can also send the target data packet matching the target content to the first device when it has not received the second information. The first device does not need to retransmit the second information to the second device, and the second device can also send the target data packet pointed to by the target content to the first device. This can reduce the transmission amount of non-data packet type information transmitted between the first device and the second device, thereby reducing the consumption of transmission resources between devices, and further reducing data transmission delay, thereby achieving the purpose of improving data transmission efficiency.

[0141] In one implementation, the receiving determination unit 902 is specifically used to: compare the target content with the historical information that has been received by the second device to determine whether the historical information matches the target content; if no historical information matches the target content, determine that the second device has not received the second information; if the historical information matches the target content, determine that the second device has received the second information.

[0142] Among them, the first information also includes a first identifier corresponding to the first information, and the first identifier is used to uniquely represent the first information; the target content at least includes a target identifier corresponding to the second information, and the target identifier is used to uniquely represent the second information; wherein, when the receiving determination unit 902 compares the target content with the historical information already received by the second device, it is specifically used to: compare the target identifier in the target content with the information identifier corresponding to the historical information already received by the second device; wherein, when the information identifier corresponding to the historical information is consistent with the target identifier in the target content, it indicates that the historical information matches the target content; when the information identifier corresponding to the historical information is not consistent with the target identifier in the target content, it indicates that the historical information does not match the target content.

[0143] In one implementation, the target content includes: an access parameter corresponding to the second information, the access parameter pointing to a data packet that the second device needs to transmit to the first device;

[0144] The data packet determining unit 903 is specifically configured to perform data packet addressing in the second device according to the access parameters in the target content to obtain a target data packet.

[0145] In one implementation, the data packet sending unit 904 is specifically used to: divide the target data packet into multiple data fragments; there is a transmission order between the data fragments; and send the data fragments to the first device in sequence according to the transmission order; wherein the last N data fragments sorted in the transmission order carry at least one target fragment, and there is redundancy between the data fragments and the target fragments they carry, and N is a positive integer greater than or equal to 1.

[0146] In one implementation, the number of target fragments carried by the data fragments is related to the transmission order corresponding to the data fragments.

[0147] It should be noted that the specific implementation method of each unit in this embodiment can refer to the corresponding content in the previous text and will not be described in detail here.

[0148] refer to Fig.10 , is a result schematic diagram of an electronic device provided in an embodiment of the present application, and the electronic device as a first device may include the following structure:

[0149] The processing module 1001, such as a central processing unit (CPU), is used to obtain first information; the first information includes target content matching the second information; the second information is historical information sent by the first device to the second device before the first information;

[0150] The communication module 1002, such as an antenna, is used to send the first information to the second device; the target content is used for the second device to send a target data packet matching the target content to the first device without receiving the second information.

[0151] It can be seen from the above technical solution that in an electronic device provided by an embodiment of the present application, when sending the first information on the first device, the target content matching the second information sent previously is carried in the first information. Thus, the second device can also send the target data packet matching the target content to the first device when it has not received the second information. The first device does not need to retransmit the second information to the second device, and the second device can also send the target data packet pointed to by the target content to the first device. This can reduce the transmission amount of non-data packet type information transmitted between the first device and the second device, thereby reducing the consumption of transmission resources between devices, and further reducing data transmission delay, thereby achieving the purpose of improving data transmission efficiency.

[0152] refer to Fig.11 , is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application, and the electronic device as a second device may include the following structure:

[0153] The communication module 1101, such as a CPU, is used to receive, on a second device, first information sent by a first device; the first information includes target content matching the second information; the second information is historical information sent by the first device to the second device before the first information;

[0154] The processing module 1102, such as an antenna, is used to determine whether the second device receives the second information according to the target content; if it is determined that the second device does not receive the second information, determine a target data packet matching the target content according to the target content;

[0155] The communication module 1101 is further configured to send the target data packet to the first device.

[0156] It can be seen from the above technical solution that in an electronic device provided by an embodiment of the present application, when sending the first information on the first device, the target content matching the second information sent previously is carried in the first information. Thus, the second device can also send the target data packet matching the target content to the first device when it has not received the second information. The first device does not need to retransmit the second information to the second device, and the second device can also send the target data packet pointed to by the target content to the first device. This can reduce the transmission amount of non-data packet type information transmitted between the first device and the second device, thereby reducing the consumption of transmission resources between devices, and further reducing data transmission delay, thereby achieving the purpose of improving data transmission efficiency.

[0157] Taking the file reading and writing scenario between devices in NFS as an example, the technical solution of this application is described below:

[0158] This application mainly performs anti-weak network or anti-packet loss processing on NFS read and write files. Since NFS read signaling is basically the same except for the read offset address offset and data length, when making read requests redundant, we only need to redundancy the offset and length information in different packets to achieve the same effect as ordinary FEC. For writing data, it is the opposite. When writing, a large amount of data will be written, but the write response data is almost the same except for returning a write length. Therefore, for the write response packet, we only need to redundancy the return length.

[0159] In addition, for the data packets for reading and writing, this application has made different FEC redundancy weights for the packetization of different User Datagram Protocols UDP (User Datagram Protocol). Since reading and writing may read up to 1M of data at a time, the delay in the completion of the entire data packet transmission will be relatively large. If the entire data packet is divided into multiple UDP packets and assembled at the receiving end, the front UDP packets will have enough time to be retransmitted, but the time required will be shorter as time goes by. If the retransmission is not completed before the last packet arrives, the assembly time of the response packet will be increased. Therefore, this application adopts a low-to-high FEC protection strategy for the entire data packetization, and provides a higher level of FEC protection for the later data packets.

[0160] The specific process is as follows:

[0161] The first step is to set a separate xid range [xid_read_min,xid_read_max] for read requests so that the xids of read requests are continuous to handle packet loss.

[0162] In the second step, when the client sends a read request, if it is for the same file, the offset and data length count of the previous n requests are placed in the offset_previous and count_previous fields of the current read request, and the read request xid is increased by 1.

[0163] In the third step, after receiving the read request from the client, the server divides the data packet corresponding to the read request into N data fragments, sends one data fragment at a time, and listens to the client's feedback at the same time, such as P0, P1, P2, ACK0 (feedback from p0), P3, ACK1 (feedback from p1), and so on.

[0164] Based on this, the delay of data packet transmission is estimated (Ack0-P0 delay), and the final delay number rtt is calculated using Kalman filtering. When the current data segment is greater than k*rtt from the end, only NACK is used for retransmission. For packets that are less than k*rtt from the end, the fec weighted weight (ki) / k is used to generate fec packets. The closer to the end, the greater the fec weight.

[0165] It should be noted that for write requests, unlike read requests, the data written by the client to the server needs to be divided into N fragments, and the strategies of NACK and fec are similar to the strategies of read responses sent by the server to the client.

[0166] For the redundancy strategy of write responses, the redundancy effect can be achieved by putting the count of the data packets corresponding to the previous contprevious write requests into the previous of the corresponding write response.

[0167] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.

[0168] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0169] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.

[0170] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A data transmission control method, the method comprising: obtaining first information on a first device; The first information includes target content that matches the second information; The second information is historical information sent by the first device to the second device before the first information; The first information is sent to the second device; the target content is used for the second device to send a target data packet matching the target content to the first device without receiving the second information.

2. The method according to claim 1, in the case where the first information and the second information are read requests, the target content comprises: a read parameter corresponding to the second information, the read parameter pointing to a data packet requested by the first device to be read from the second device; In the case where the first information and the second information are write responses, the target content includes: write parameters corresponding to the second information, the write parameters pointing to the data packets that the second device has written into the first device.

3. A data transmission control method, comprising: receiving, on the second device, first information sent by the first device; The first information includes target content that matches the second information; The second information is historical information sent by the first device to the second device before the first information; determining, according to the target content, whether the second device has received the second information; In a case where it is determined that the second device has not received the second information, determining, according to the target content, a target data packet matching the target content; Send the target data packet to the first device.

4. The method according to claim 3, determining whether the second device receives the second information comprises: comparing the target content with the historical information that has been received by the second device to determine whether the historical information matches the target content; If no historical information matches the target content, determining that the second device has not received the second information; In a case where the historical information matches the target content, it is determined that the second device has received the second information.

5. The method according to claim 4, wherein the first information further includes a first identifier corresponding to the first information, and the first identifier is used to uniquely represent the first information; the target content at least includes a target identifier corresponding to the second information, and the target identifier is used to uniquely represent the second information; in, Comparing the target content with the historical information received by the second device includes: comparing the target identifier in the target content with the information identifier corresponding to the historical information that has been received by the second device; Wherein, when the information identifier corresponding to the historical information is consistent with the target identifier in the target content, it indicates that the historical information matches the target content; If there is no information identifier corresponding to the historical information that is consistent with the target identifier in the target content, it indicates that there is no historical information that matches the target content.

6. The method according to claim 4 or 5, wherein the target content comprises: an access parameter corresponding to the second information, the access parameter pointing to a data packet that the second device needs to transmit to the first device; Wherein, determining a target data packet matching the target content includes: According to the access parameters in the target content, data packet addressing is performed in the second device to obtain the target data packet.

7. The method according to claim 4 or 5, sending the target data packet to the first device, comprising: Dividing the target data packet into a plurality of data segments; the data segments have a transmission order; sending the data segments to the first device in sequence according to the transmission order; Among them, the data fragments ranked last in the transmission order carry at least one target fragment, and there is redundancy between the data fragments and the target fragments they carry, and N is a positive integer greater than or equal to 1.

8. The method according to claim 7, wherein the number of target fragments carried by the data fragments is related to the transmission order corresponding to the data fragments.

9. An electronic device, as a first device, comprising: A processing module, configured to obtain first information; The first information includes target content that matches the second information; The second information is historical information sent by the first device to the second device before the first information; A communication module is used to send the first information to the second device; the target content is used for the second device to send a target data packet matching the target content to the first device without receiving the second information.

10. An electronic device, as a second device, comprising: A communication module, configured to receive, on a second device, first information sent by a first device; The first information includes target content that matches the second information; The second information is historical information sent by the first device to the second device before the first information; a processing module, configured to determine, according to the target content, whether the second device has received the second information; and if it is determined that the second device has not received the second information, determine, according to the target content, a target data packet matching the target content; The communication module is further used to send the target data packet to the first device.

Citation Information

Patent Citations

  • Network transmission method and related device

    CN111510447A

  • Live broadcast content processing method, electronic equipment and readable storage medium

    CN114071174A

  • Big data transmission method and device, computer equipment and storage medium

    CN115842818A

  • Data transmission method and device, electronic equipment and storage medium

    CN117061071A

  • Data transmission method and device, electronic equipment and storage medium

    CN118540773A