A data transmission method, apparatus, terminal device, and storage medium

By analyzing and verifying the sequence tags and hash values ​​of sharded data packets in the video router on the receiving side, identifying and retransmitting the lost sharded data packets, the problems of data transmission waiting and efficiency in the prior art are solved, and more efficient data transmission is achieved.

CN112243160BActive Publication Date: 2025-05-27VISIONVERA INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010963078.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-09-14
Publication Date
2025-05-27
Estimated Expiration
2040-09-14

AI Technical Summary

Technical Problem

The prior art has problems with waiting data transmission and low information transmission efficiency in the process of large-scale data transmission. The TCP/IP protocol requires multiple handshake confirmation, while the UDP protocol does not verify the data packet reception, resulting in packet loss and low transmission efficiency.

Method used

The video router on the receiving end parses the non-video packets at the sending end, determines the number and sequence tags of sharded packets, calculates the hash value to detect the lost sharded packets, and sends a retransmission request to the sending end, retransmitting only the lost sharded packets.

Benefits of technology

Improves the efficiency of data transmission, reduces unnecessary retransmission, and ensures the integrity of data packet reception.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112243160B_ABST
    Figure CN112243160B_ABST
Patent Text Reader

Abstract

An embodiment of the present invention provides a data transmission method, apparatus, terminal device, and storage medium, including: receiving non-video data packets sent by a visual connection router at a sending end, where the non-video data packets include at least two fragmented data packets; parsing the non-video data packets to obtain a first quantity of the fragmented data packets, a first sequence tag of the fragmented data packets, and a first hash value; determining a second hash value according to the first quantity of the fragmented data packets and the first sequence tag of the fragmented data packets; if the second hash value is different from the first hash value, determining a second sequence tag of the lost fragmented data packet according to a pre-configured data packet sequence rule and the first sequence tag; sending a retransmission request to the visual connection router at the sending end, where the retransmission request includes the second sequence tag. In this way, only the fragmented data packets of the lost packets need to be retransmitted, rather than the entire data packet, improving the transmission efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of visual networking, and particularly to a data transmission method, apparatus, terminal device, and storage medium. Background Art

[0002] In the prior art, the TCP (Transmission Control Protocol) / IP (Internet Protocol Address) protocol is usually used for data transmission. However, this transmission method requires receiving and confirming each data packet through multiple "handshakes". During large-scale data transmission, a data transmission "waiting" problem will occur, and several information feedbacks will cause a significant reduction in the information transmission efficiency.

[0003] In the case of a large amount of data, the UDP (User Datagram Protocol) protocol can be used for transmission. However, although the UDP protocol has an efficient data packet transmission mechanism, it does not verify the reception of data packets, and packet loss will occur. If packet loss occurs, the data packet needs to be retransmitted. In the prior art, the entire data packet is retransmitted, so the transmission efficiency is low. Summary of the Invention

[0004] In view of the above problems, embodiments of the present invention are proposed to provide a data transmission method, apparatus, terminal device, and storage medium that overcome the above problems or at least partially solve the above problems.

[0005] In a first aspect, an embodiment of the present invention provides a data transmission method, which is applied to a visual networking router at a receiving end and includes:

[0006] Receiving non-video data packets sent by a visual networking router at a sending end, where the non-video data packets include at least two shard data packets;

[0007] Parsing the non-video data packets to obtain a first quantity of the shard data packets, a first sequence tag of the shard data packets, and a first hash value, where the first hash value is determined by the visual networking router at the sending end according to a second quantity of the shard data packets and a second sequence tag of the shard data packets;

[0008] Determining a second hash value according to the first quantity of the shard data packets and the first sequence tag of the shard data packets;

[0009] If the second hash value is different from the first hash value, determining a second sequence tag of the lost shard data packet according to a pre-configured data packet sequence rule and the first sequence tag;

[0010] Send a retransmission request to the Visual Link router at the sending end, where the retransmission request includes the second sequence tag.

[0011] Optionally, the non-video data packet further includes the data content of the fragmented data packet and a third hash value. The data content of the fragmented data packet corresponds to the first sequence tag, and the third hash value is obtained by the Visual Link router at the sending end performing a hashing operation based on the second sequence tag of the fragmented data packet and the data content corresponding to the second sequence tag. The method further includes:

[0012] Perform a hashing operation on the first sequence tag of the fragmented data packet and the data content corresponding to the first sequence tag to obtain a fourth hash value;

[0013] If the fourth hash value is the same as the third hash value, save the received fragmented data packet in the database;

[0014] If the fourth hash value is different from the third hash value, send the retransmission request to the Visual Link router at the sending end, where the retransmission request includes the first sequence tag corresponding to the fourth hash value.

[0015] Optionally, the method further includes:

[0016] If the second hash value is different from the first hash value, return a heartbeat connection response to the Visual Link router at the sending end, where the heartbeat connection response includes information indicating that the data packet transmission is complete.

[0017] Optionally, before receiving the non-video data packet sent by the Visual Link router at the sending end, the method further includes:

[0018] The Visual Link router at the sending end splits the non-video data packet to obtain the fragmented data packet;

[0019] The Visual Link router at the sending end sets the first sequence tag for the fragmented data packet, where the first sequence tag is a binary sequence tag of 4 - 16 bits.

[0020] Optionally, the method further includes:

[0021] Pre-configure parameters for the Visual Link router at the sending end and the Visual Link router at the receiving end, where the parameter configuration includes at least one of the data packet sequence rule, sequence tag length, and transmission protocol parameter, and the data packet sequence rule includes at least a data packet increment sequence rule.

[0022] Second aspect, an embodiment of the present invention provides a data transmission device, which is applied to a Visual Link Router at the receiving end and includes:

[0023] A receiving module, configured to receive non-video data packets sent by a Visual Link Router at the sending end, where the non-video data packets include at least two fragmented data packets;

[0024] An analysis module, configured to analyze the non-video data packets to obtain a first quantity of the fragmented data packets, a first sequence tag of the fragmented data packets, and a first hash value, where the first hash value is determined by the Visual Link Router at the sending end according to a second quantity of the fragmented data packets and a second sequence tag of the fragmented data packets;

[0025] A calculation module, configured to determine a second hash value according to the first quantity of the fragmented data packets and the first sequence tag of the fragmented data packets;

[0026] A determination module, configured to, if the second hash value is different from the first hash value, determine a second sequence tag of the lost fragmented data packets according to a pre-configured data packet sequence rule and the first sequence tag;

[0027] A first retransmission module, configured to send a retransmission request to the Visual Link Router at the sending end, where the retransmission request includes the second sequence tag.

[0028] Optionally, the non-video data packets further include data content of the fragmented data packets and a third hash value, the data content of the fragmented data packets corresponds to the first sequence tag, and the third hash value is obtained by the Visual Link Router at the sending end through a hashing operation on the second sequence tag of the fragmented data packets and the data content corresponding to the second sequence tag; the device further includes a second retransmission module, and the second retransmission module is configured to:

[0029] Perform a hashing operation on the first sequence tag of the fragmented data packets and the data content corresponding to the first sequence tag to obtain a fourth hash value;

[0030] If the fourth hash value is the same as the third hash value, save the received fragmented data packets in a database;

[0031] If the fourth hash value is different from the third hash value, send the retransmission request to the Visual Link Router at the sending end, where the retransmission request includes the first sequence tag corresponding to the fourth hash value.

[0032] Optionally, the device further includes a response module, and the response module is configured to:

[0033] If the second hash value is different from the first hash value, a heartbeat connection response is returned to the VC router at the sending end, where the heartbeat connection response includes information indicating that the data packet transmission is completed.

[0034] Optionally, the VC router at the sending end includes a setting module, and the setting module is configured to:

[0035] Split the non-video data packet to obtain the shard data packet;

[0036] Set the first sequence tag for the shard data packet, where the first sequence tag is a binary sequence tag of 4-16 bits.

[0037] Optionally, the device further includes a first configuration module, and the first configuration module is configured to:

[0038] Pre-configure parameters for the VC router at the receiving end, where the parameter configuration includes at least one of the data packet sequence rule, sequence tag length, and transmission protocol parameter, and the data packet sequence rule includes at least a data packet increment sequence rule.

[0039] Optionally, the VC router at the sending end includes a second configuration module, and the second configuration module is configured to:

[0040] Pre-configure parameters for the VC router at the sending end, where the parameter configuration includes at least one of the data packet sequence rule, sequence tag length, and transmission protocol parameter, and the data packet sequence rule includes at least a data packet increment sequence rule.

[0041] In a third aspect, an embodiment of the present invention provides a terminal device, including: at least one processor and a memory;

[0042] The memory stores a computer program; the at least one processor executes the computer program stored in the memory to implement the data transmission method provided in the first aspect.

[0043] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, in which a computer program is stored, and when the computer program is executed, the data transmission method provided in the first aspect is implemented.

[0044] The embodiments of the present invention have the following advantages:

[0045] The data transmission method, device, terminal device, and storage medium provided by the embodiments of the present invention receive non-video data packets sent by a Visual Networking router at a sending end. The non-video data packets include at least two fragmented data packets. The non-video data packets are parsed to obtain a first quantity of the fragmented data packets, a first sequence tag of the fragmented data packets, and a first hash value. The first hash value is determined by the Visual Networking router at the sending end according to a second quantity of the fragmented data packets and a second sequence tag of the fragmented data packets. A second hash value is determined according to the first quantity of the fragmented data packets and the first sequence tag of the fragmented data packets. If the second hash value is different from the first hash value, a second sequence tag of the lost fragmented data packet is determined according to a pre-configured data packet sequence rule and the first sequence tag. A retransmission request is sent to the Visual Networking router at the sending end. The retransmission request includes the second sequence tag. In this way, only the lost fragmented data packet needs to be retransmitted, rather than the entire data packet, improving the transmission efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] Figure 1 is a flowchart of the steps of an embodiment of a data transmission method of the present invention;

[0047] Figure 2 is a flowchart of the steps of another embodiment of a data transmission method of the present invention;

[0048] Figure 3 is a flowchart of the steps of yet another embodiment of a data transmission method of the present invention;

[0049] Figure 4 is a flowchart of the steps of an embodiment of parameter configuration of the present invention;

[0050] Figure 5 is a block diagram of the structure of an embodiment of a data transmission device of the present invention;

[0051] Figure 6 is a schematic structural diagram of a terminal device of the present invention. DETAILED DESCRIPTION

[0052] To make the above objects, features, and advantages of the present invention more obvious and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0053] Visual Networking is an important milestone in the development of the network. It is a real-time network that can achieve real-time transmission of high-definition video, pushing many Internet applications towards high-definition video and high-definition face-to-face.

[0054] The Visual Networking uses real-time high-definition video switching technology, which can integrate dozens of services such as high-definition video conferencing, video surveillance, intelligent surveillance analysis, emergency command, digital radio and television, delayed television, online teaching, live broadcast, VOD on demand, TV mail, personalized recording (PVR), internal network (self-run) channels, intelligent video playback control, information release, etc. of video, voice, pictures, text, communication, data, etc. on a network platform, and realizes high-definition video playback through a TV or computer.

[0055] The following are the explanations of terms:

[0056] Visual Networking Router: A device used to establish a data transmission channel within the Visual Networking, which is used to connect the user operation terminal and the server terminal to realize communication between the two ends through the Visual Networking.

[0057] An embodiment of the present invention provides a data transmission method for retransmitting lost fragmented data packets. The execution subject of this embodiment is a data transmission device, which is set in the Visual Networking Router at the receiving end.

[0058] Refer to Figure 1 , which shows the step flow chart of an embodiment of the data transmission method of the present invention. This method can be applied to the Visual Networking Router at the receiving end, and specifically may include the following steps:

[0059] S101. Receive non-video data packets sent by the Visual Networking Router at the sending end. The non-video data packets include at least two fragmented data packets;

[0060] Specifically, the embodiment of the present invention is used to transmit non-video data through the Visual Networking Router. The non-video data includes text files, picture files, etc. Within the Visual Networking, a data transmission tunnel is established through two Visual Networking Routers, namely the Visual Networking Router at the sending end and the Visual Networking Router at the receiving end, to realize the transmission of non-video data. The non-video data packets to be sent are fragmented and then transmitted, that is, the non-video data packets to be sent include at least two fragmented data packets. The Visual Networking Router at the sending end sets a sequence tag for each fragmented data packet and sends the non-video data packet to the Visual Networking Router at the receiving end. Among them, the format of the non-video data packet is the Visual Networking protocol header, the number of fragmented data packets, the sequence tag of the first fragmented data packet, the data content of the first fragmented data packet, the sequence tag of the second fragmented data packet, the data content of the second fragmented data packet,..., the sequence tag of the nth fragmented data packet, the data content of the nth fragmented data packet, where n is a positive integer greater than 0.

[0061] S102. Parse the non-video data packet to obtain the first quantity of the fragmented data packets, the first sequence tag of the fragmented data packets, and the first hash value. The first hash value is determined by the Visual Networking Router at the sending end according to the second quantity of the fragmented data packets and the second sequence tag of the fragmented data packets;

[0062] Specifically, before the Visual Networking Router at the sending end sends a non-video data packet, the Visual Networking Router at the sending end performs a hash operation according to the second quantity of the fragmented data packets and the second sequence tag of the fragmented data packets, calculates the first hash value, and loads the first hash value into the non-video data packet to be sent and sends it to the Visual Networking Router at the receiving end;

[0063] The Visual Networking Router at the receiving end parses the non-video data packet to obtain the first quantity of the fragmented data packets, the first sequence tag of the fragmented data packets, the data content of the fragmented data packets, and the first hash value.

[0064] S103. Determine the second hash value according to the first quantity of the fragmented data packets and the first sequence tag of the fragmented data packets;

[0065] Specifically, the Visual Networking Router at the receiving end performs a hash operation according to the first quantity of the fragmented data packets and the first sequence tag of the fragmented data packets to obtain the second hash value.

[0066] S104. If the second hash value is different from the first hash value, determine the second sequence tag of the lost fragmented data packet according to the pre-configured data packet sequence rule and the first sequence tag;

[0067] Specifically, the Visual Networking Router at the receiving end compares the first hash value and the second hash value. If the second hash value is different from the first hash value, it means that packet loss has occurred during the data packet transmission. The Visual Networking Router at the receiving end determines the second sequence tag of the lost fragmented data packet according to the pre-configured data packet sequence rule and the first sequence tag.

[0068] Exemplarily, if the Visual Networking Router at the sending end divides a non-video data packet into 5 fragmented data packets, the format of the non-video data packet is the Visual Networking protocol header v2v, the number of fragmented data packets 5, the sequence tag 0001 of the first fragmented data packet, the data content a of the first fragmented data packet, the sequence tag 0002 of the second fragmented data packet, the data content b of the second fragmented data packet, the sequence tag 0003 of the third fragmented data packet, the data content c of the third fragmented data packet, the sequence tag 0004 of the fourth fragmented data packet, the data content d of the fourth fragmented data packet, the sequence tag 0005 of the 5th fragmented data packet, and the data content e of the 5th fragmented data packet;

[0069] Perform a hash operation based on the number of sharded data packets 5, the sequence tag 0001 of the first sharded data packet, the sequence tag 0002 of the second sharded data packet, the sequence tag 0003 of the third sharded data packet, the sequence tag 0004 of the fourth sharded data packet, and the sequence tag 0005 of the fifth sharded data packet to obtain a first hash value; and send the first hash value to the VC router at the receiving end;

[0070] The VC router at the receiving end parses according to the received non-video data packet to obtain the first quantity of sharded data packets, the first sequence tag of sharded data packets, the data content of sharded data packets, and the first hash value;

[0071] If the first quantity of the parsed sharded data packets is 3, the first sequence tags of the sharded data packets are 0001, 0002, and 0005, and a hash operation is performed based on 3, 0001, 0002, and 0005 to obtain a second hash value. Compare the first hash value with the second hash value. If the first hash value and the second hash value are different, and according to the pre-configured data packet sequence rule, such as incrementing by 1, and the parsed first sequence tags, such as 0001, 0002, and 0005, it is determined that 2 sharded data packets are lost, and the sequence tags of the lost sharded data packets are 0003 and 0004.

[0072] S105. Send a retransmission request to the VC router at the sending end, where the retransmission request includes the second sequence tag.

[0073] Specifically, the VC router at the receiving end calculates the second sequence tag of the lost sharded data packet, sends a retransmission request to the VC router at the sending end, and sends the second sequence tag to the VC router at the sending end together. In the embodiment of the present invention, the VC router at the sending end does not verify non-video data packets, and only the VC router at the receiving end verifies each received non-video data packet one by one. If a data packet is lost, the VC router at the sending end needs to perform a retransmission, which improves the transmission efficiency of data packets.

[0074] The data transmission method provided by the embodiment of the present invention receives non-video data packets sent by the Visual Link Router at the sending end. The non-video data packets include at least two fragmented data packets; the non-video data packets are parsed to obtain the first quantity of the fragmented data packets, the first sequence tag of the fragmented data packets, and the first hash value. The first hash value is determined by the Visual Link Router at the sending end according to the second quantity of the fragmented data packets and the second sequence tag of the fragmented data packets; according to the first quantity of the fragmented data packets and the first sequence tag of the fragmented data packets, a second hash value is determined; if the second hash value is different from the first hash value, the second sequence tag of the lost fragmented data packet is determined according to the pre-configured data packet sequence rule and the first sequence tag; a retransmission request is sent to the Visual Link Router at the sending end, and the retransmission request includes the second sequence tag. In this way, only the lost fragmented data packet needs to be retransmitted, rather than the entire data packet, improving the transmission efficiency.

[0075] Another embodiment of the present invention further supplements and explains the data transmission method provided by the above embodiment.

[0076] As Figure 2 shown, a step flowchart of another embodiment of the data transmission method of the present invention is shown, which is applied to the Visual Link Router at the receiving end. The data transmission method includes:

[0077] S201. Parameters are pre-configured for the Visual Link Router at the sending end and the Visual Link Router at the receiving end. The parameter configuration includes at least one of the data packet sequence rule, sequence tag length, and transmission protocol parameter. The data packet sequence rule includes at least a data packet increment sequence rule.

[0078] Specifically, parameters need to be pre-configured on the Visual Link Router at the sending end and the Visual Link Router at the receiving end. The configuration parameters include at least the data packet sequence rule, such as the data packet sequence increment rule or the data packet sequence decrement rule, the sequence tag length, such as a 4-16-bit binary sequence tag, and the transmission protocol parameter, such as the bandwidth parameter, etc. The specific configuration method is as Figure 4 shown, and specifically includes:

[0079] 1. Protocol design: First, the design of carrying serial numbers for each data packet is carried out, including the serial number length, serial number increment mechanism, etc. Secondly, the communication, heartbeat link, retransmission logic, etc. of the data packet are designed;

[0080] 2. Protocol research and development: According to the protocol design, the protocol is developed, including the addition of the protocol and the serial number field, and the serial number length can be configured according to the actual usage scenario;

[0081] 3. Embedding of Visual Link Router: For the developed protocol, the embedding of the Visual Link Router is implemented, enabling the Visual Link Router to communicate using this protocol during data or file transmission.

[0082] S202. The Visual Link Router at the sending end splits the non-video data packet to obtain fragmented data packets.

[0083] S203. The Visual Link Router at the sending end sets the first sequence tag for the fragmented data packets, where the first sequence tag is a 4 - 16-bit binary sequence tag.

[0084] S204. The Visual Link Router at the sending end performs a hashing operation based on the second sequence tag of the fragmented data packet and the data content corresponding to the second sequence tag to obtain a third hash value, and performs a hashing operation based on the second quantity of the fragmented data packet and the second sequence tag of the fragmented data packet to obtain a first hash value.

[0085] Exemplarily, the Visual Link Router at the sending end performs a hashing operation based on the sequence tag 0001 of the first fragmented data packet and the data content a of the first fragmented data packet to obtain the first third hash value; performs a hashing operation based on the sequence tag 0002 of the second fragmented data packet and the data content b of the second fragmented data packet to obtain the second third hash value; performs a hashing operation based on the sequence tag 0003 of the third fragmented data packet and the data content c of the third fragmented data packet to obtain the third third hash value; performs a hashing operation based on the sequence tag 0004 of the fourth fragmented data packet and the data content d of the fourth fragmented data packet to obtain the fourth third hash value; performs a hashing operation based on the sequence tag 0005 of the fifth fragmented data packet and the data content e of the fifth fragmented data packet to obtain the fifth third hash value; and sends multiple third hash values to the Visual Link Router at the receiving end.

[0086] S205. Receive the non-video data packet sent by the Visual Link Router at the sending end, where the non-video data packet includes at least two fragmented data packets.

[0087] S206. Parse the non-video data packet to obtain the first quantity of the fragmented data packet, the first sequence tag of the fragmented data packet, and the first hash value.

[0088] Since steps S205 to S206 are the same as Figure 1 steps S101 and S102 in the Figure 1 illustrated embodiment. The detailed description of steps S101 to S102 has been provided above, so steps S205 to S206 will not be elaborated here.

[0089] S207. Determine a second hash value according to the first quantity of the sharded data packets and the first sequence tag of the sharded data packets;

[0090] S208. If the second hash value is different from the first hash value, determine the second sequence tag of the missing sharded data packets according to the pre-configured data packet sequence rule and the first sequence tag;

[0091] Among them, the first hash value and the second hash value are used to determine whether the non-video data is completely received. If not, further determine which sharded data packets are missing, and determine the sequence tags of the missing sharded data packets, and request the VisionLink router at the sending end to retransmit.

[0092] S209. Perform a hash operation on the first sequence tag of the sharded data packets and the data content corresponding to the first sequence tag to obtain a fourth hash value;

[0093] Among them, the third hash value and the fourth hash value are used to judge the content of the received sharded data packets, judge that the received sharded data packets are indeed the sharded data packets sent by the VisionLink router at the sending end, and are not tampered with during the data packet transmission process, to ensure the correctness of the data content.

[0094] S210. If the fourth hash value is the same as the third hash value, save the received sharded data packets in the database;

[0095] S211. If the fourth hash value is different from the third hash value or the second hash value is different from the first hash value, send the retransmission request to the VisionLink router at the sending end, where the retransmission request includes the first sequence tag and / or the second sequence tag corresponding to the fourth hash value.

[0096] Specifically, if a sharded data packet is lost, or the content of the received sharded data packet changes, the VisionLink router at the receiving end needs to send a retransmission request to the VisionLink router at the sending end, and send the sequence tag of the data packet to the VisionLink router at the sending end together.

[0097] S212. If the second hash value is the same as the first hash value, return a heartbeat connection response to the VisionLink router at the sending end, where the heartbeat connection response includes information indicating that the data packet transmission is completed.

[0098] Figure 3 is a step flowchart of another embodiment of the data transmission method of the present invention. As Figure 3 shown, the data transmission method includes:

[0099] 1. Within the Visual Networking, a data transmission tunnel can be established through two Visual Networking routers to achieve the transmission of data and files.

[0100] 2. The user side or the server side can connect to the Visual Networking router to achieve non-video data intercommunication through the Visual Networking.

[0101] 3. Between two Visual Networking routers, the retransmission of data packets is achieved through an exclusive protocol.

[0102] 4. Each data packet sent by the Visual Networking router within the Visual Networking will have a 4 - 16-bit binary sequence tag, and the sequence of each data packet will increase one by one. When the sequence value reaches the maximum value, the sequence will be recounted.

[0103] 5. The Visual Networking router at the receiving end will verify the sequence of the received data packets one by one. If there is a break in the sequence, a retransmission will be requested. If there is no break in the sequence, no feedback will be sent to the sending end.

[0104] 6. After the transmission of an entire sequence of data packets is completed, the receiving end will feedback a heartbeat connection message to prove the online status of the receiving end. At the same time, it will feedback whether it has received all the data packets within this sequence. If not, it will request the retransmission of the unreceived data packets. If all are received, it will request the next sequence.

[0105] Through the technical solution provided by the embodiments of the present invention, the problem of low transmission efficiency caused by the data transmission verification process of the original transmission protocol is solved. The embodiments of the present invention will improve the utilization efficiency of the bandwidth. Since the data packet sending end does not perform receiving verification on each data packet, the transmission efficiency of the data packets will be improved. At the same time, through the verification and retransmission request of the receiving end, the integrity of the received data packets is ensured.

[0106] It should be noted that for the method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should know that the embodiments of the present invention are not limited by the described action sequence, because according to the embodiments of the present invention, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily essential for the embodiments of the present invention.

[0107] The data transmission method provided by the embodiment of the present invention receives non-video data packets sent by the Visual Link Router at the sending end. The non-video data packets include at least two fragmented data packets; parses the non-video data packets to obtain the first quantity of the fragmented data packets, the first sequence tag of the fragmented data packets, and the first hash value. The first hash value is determined by the Visual Link Router at the sending end according to the second quantity of the fragmented data packets and the second sequence tag of the fragmented data packets; determines the second hash value according to the first quantity of the fragmented data packets and the first sequence tag of the fragmented data packets; if the second hash value is different from the first hash value, determines the second sequence tag of the lost fragmented data packets according to the pre-configured data packet sequence rule and the first sequence tag; sends a retransmission request to the Visual Link Router at the sending end. The retransmission request includes the second sequence tag. In this way, only the lost fragmented data packets need to be retransmitted, rather than the entire data packet, improving the transmission efficiency.

[0108] Another embodiment of the present invention provides a data transmission device for executing the data transmission method provided by the above embodiment.

[0109] Referring to Figure 5 , a structural block diagram of an embodiment of a data transmission device of the present invention is shown. The device can be applied to the Visual Link Router at the receiving end and specifically includes the following modules: a receiving module 501, a parsing module 502, a calculating module 503, a determining module 504, and a first retransmission module 505, where:

[0110] The receiving module 501 is configured to receive non-video data packets sent by the Visual Link Router at the sending end. The non-video data packets include at least two fragmented data packets;

[0111] The parsing module 502 is configured to parse the non-video data packets to obtain the first quantity of the fragmented data packets, the first sequence tag of the fragmented data packets, and the first hash value. The first hash value is determined by the Visual Link Router at the sending end according to the second quantity of the fragmented data packets and the second sequence tag of the fragmented data packets;

[0112] The calculating module 503 is configured to determine the second hash value according to the first quantity of the fragmented data packets and the first sequence tag of the fragmented data packets;

[0113] The determining module 504 is configured to, if the second hash value is different from the first hash value, determine the second sequence tag of the lost fragmented data packets according to the pre-configured data packet sequence rule and the first sequence tag;

[0114] The first retransmission module 505 is configured to send a retransmission request to the Visual Link Router at the sending end. The retransmission request includes the second sequence tag.

[0115] The data transmission device provided by an embodiment of the present invention receives non-video data packets sent by a Visual Communication Router at a sending end. The non-video data packets include at least two fragmented data packets; parses the non-video data packets to obtain a first quantity of the fragmented data packets, a first sequence tag of the fragmented data packets, and a first hash value, where the first hash value is determined by the Visual Communication Router at the sending end according to a second quantity of the fragmented data packets and a second sequence tag of the fragmented data packets; determines a second hash value according to the first quantity of the fragmented data packets and the first sequence tag of the fragmented data packets; if the second hash value is different from the first hash value, determines a second sequence tag of the lost fragmented data packet according to a pre-configured data packet sequence rule and the first sequence tag; and sends a retransmission request to the Visual Communication Router at the sending end, where the retransmission request includes the second sequence tag. In this way, only the lost fragmented data packet needs to be retransmitted, rather than the entire data packet, improving the transmission efficiency.

[0116] Another embodiment of the present invention further supplements the data transmission device provided in the above embodiment.

[0117] Optionally, the non-video data packet further includes data content of the fragmented data packet and a third hash value. The data content of the fragmented data packet corresponds to the first sequence tag, and the third hash value is obtained by the Visual Communication Router at the sending end through a hashing operation on the second sequence tag of the fragmented data packet and the data content corresponding to the second sequence tag.

[0118] The device further includes a second retransmission module, and the second retransmission module is configured to:

[0119] Perform a hashing operation on the first sequence tag of the fragmented data packet and the data content corresponding to the first sequence tag to obtain a fourth hash value.

[0120] If the fourth hash value is the same as the third hash value, save the received fragmented data packet in a database.

[0121] If the fourth hash value is different from the third hash value, send the retransmission request to the Visual Communication Router at the sending end, where the retransmission request includes the first sequence tag corresponding to the fourth hash value.

[0122] Optionally, the device further includes a response module, and the response module is configured to:

[0123] If the second hash value is different from the first hash value, return a heartbeat connection response to the Visual Communication Router at the sending end, where the heartbeat connection response includes information indicating that the data packet transmission is completed.

[0124] Optionally, the Visual Communication Router at the sending end includes a setting module, and the setting module is configured to:

[0125] Split the non-video data packet to obtain the shard data packets;

[0126] Set the first sequence tag for the shard data packets, where the first sequence tag is a 4-16 bit binary sequence tag.

[0127] Optionally, the device further includes a first configuration module, and the first configuration module is configured to:

[0128] Pre-configure parameters for the Visual Link Router at the receiving end, where the parameter configuration includes at least one of the data packet sequence rule, sequence tag length, and transmission protocol parameters, and the data packet sequence rule includes at least a data packet increment sequence rule.

[0129] Optionally, the Visual Link Router at the sending end includes a second configuration module, and the second configuration module is configured to:

[0130] Pre-configure parameters for the Visual Link Router at the sending end, where the parameter configuration includes at least one of the data packet sequence rule, sequence tag length, and transmission protocol parameters, and the data packet sequence rule includes at least a data packet increment sequence rule.

[0131] It should be noted that each implementable manner in this embodiment can be implemented separately, or can be combined in any combination manner without conflict. The present application is not limited.

[0132] For the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple. For related parts, refer to the partial description of the method embodiment.

[0133] The data transmission device provided by the embodiment of the present invention receives a non-video data packet sent by a Visual Link Router at a sending end, where the non-video data packet includes at least two shard data packets; parses the non-video data packet to obtain the first quantity of the shard data packets, the first sequence tag of the shard data packets, and the first hash value, where the first hash value is determined by the Visual Link Router at the sending end according to the second quantity of the shard data packets and the second sequence tag of the shard data packets; determines a second hash value according to the first quantity of the shard data packets and the first sequence tag of the shard data packets; if the second hash value is different from the first hash value, determines the second sequence tag of the lost shard data packet according to the pre-configured data packet sequence rule and the first sequence tag; sends a retransmission request to the Visual Link Router at the sending end, and the retransmission request includes the second sequence tag. In this way, only the lost shard data packet needs to be retransmitted, rather than the entire data packet, improving the transmission efficiency.

[0134] Another embodiment of the present invention provides a terminal device for executing the data transmission method provided in the above embodiment.

[0135] Figure 6 FIG. is a schematic structural diagram of a terminal device of the present invention, as Figure 6 shown, the terminal device includes: at least one processor 601 and a memory 602;

[0136] The memory stores a computer program; the at least one processor executes the computer program stored in the memory to implement the data transmission method provided in the above embodiment.

[0137] The terminal device provided in this embodiment receives non-video data packets sent by the Visual Link router at the sending end. The non-video data packets include at least two fragmented data packets; parses the non-video data packets to obtain the first quantity of the fragmented data packets, the first sequence tag of the fragmented data packets, and the first hash value. The first hash value is determined by the Visual Link router at the sending end according to the second quantity of the fragmented data packets and the second sequence tag of the fragmented data packets; determines the second hash value according to the first quantity of the fragmented data packets and the first sequence tag of the fragmented data packets; if the second hash value is different from the first hash value, determines the second sequence tag of the lost fragmented data packet according to the pre-configured data packet sequence rule and the first sequence tag; sends a retransmission request to the Visual Link router at the sending end, and the retransmission request includes the second sequence tag. In this way, only the lost fragmented data packet needs to be retransmitted, rather than the entire data packet, improving the transmission efficiency.

[0138] Another embodiment of the present application provides a computer-readable storage medium, in which a computer program is stored, and when the computer program is executed, it implements the data transmission method provided in any of the above embodiments.

[0139] According to the computer-readable storage medium of this embodiment, it receives non-video data packets sent by the Visual Link router at the sending end. The non-video data packets include at least two fragmented data packets; parses the non-video data packets to obtain the first quantity of the fragmented data packets, the first sequence tag of the fragmented data packets, and the first hash value. The first hash value is determined by the Visual Link router at the sending end according to the second quantity of the fragmented data packets and the second sequence tag of the fragmented data packets; determines the second hash value according to the first quantity of the fragmented data packets and the first sequence tag of the fragmented data packets; if the second hash value is different from the first hash value, determines the second sequence tag of the lost fragmented data packet according to the pre-configured data packet sequence rule and the first sequence tag; sends a retransmission request to the Visual Link router at the sending end, and the retransmission request includes the second sequence tag. In this way, only the lost fragmented data packet needs to be retransmitted, rather than the entire data packet, improving the transmission efficiency.

[0140] Each embodiment in this specification is described in a progressive manner. The key point of each embodiment is to illustrate the differences from other embodiments. For the same or similar parts among the embodiments, reference can be made to each other.

[0141] Those skilled in the art should understand that the embodiments of the present invention can be provided as a method, a device, or a computer program product. Therefore, the embodiments of the present invention can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the embodiments of the present invention can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) containing computer-usable program code.

[0142] The embodiments of the present invention are described with reference to the flowcharts and / or block diagrams of methods, electronic devices (systems), and computer program products according to the embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be realized by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing electronic devices to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing electronic devices generate a device for realizing the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.

[0143] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing electronic devices to work in a specific manner, such that the instructions stored in the computer-readable memory generate a manufactured article including an instruction device that realizes the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.

[0144] These computer program instructions can also be loaded onto a computer or other programmable data processing electronic devices, such that a series of operation steps are executed on the computer or other programmable electronic devices to generate a computer-implemented process. Thus, the instructions executed on the computer or other programmable electronic devices provide steps for realizing the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.

[0145] Although the preferred embodiments of the embodiments of the present invention have been described, those skilled in the art can make additional changes and modifications once they learn the basic creative concepts. Therefore, the appended claims are intended to be construed to include the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present invention.

[0146] Finally, it should also be noted that in this text, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or electronic device comprising a series of elements not only includes those elements, but also includes other elements not expressly listed, or also includes elements inherent to such process, method, article or electronic device. Without further limitation, an element defined by the statement "comprising an..." does not exclude the presence of additional identical elements in the process, method, article or electronic device comprising the element.

[0147] The above has introduced in detail a data transmission method and a data transmission device provided by the present invention. Specific examples are used in this text to elaborate on the principle and implementation manner of the present invention. The description of the above embodiments is only used to help understand the method and its core idea of the present invention; at the same time, for those of ordinary skill in the art, according to the idea of the present invention, there will be changes in the specific implementation manner and application scope. In summary, the content of this specification should not be construed as a limitation to the present invention.

Claims

1. A data transmission method, characterized in that, applied to the Visual Link Router at the receiving end, the method includes: Receiving non-video data packets sent by the Visual Link Router at the sending end, where the non-video data packets include at least two fragmented data packets; establishing a data transmission tunnel between the Visual Link Router at the sending end and the Visual Link Router at the receiving end to implement the transmission of non-video data packets; Parsing the non-video data packets to obtain the first quantity of the fragmented data packets, the first sequence tag of the fragmented data packets, and the first hash value, where the first hash value is determined by the Visual Link Router at the sending end according to the second quantity of the fragmented data packets and the second sequence tag of the fragmented data packets; Determining a second hash value according to the first quantity of the fragmented data packets and the first sequence tag of the fragmented data packets; Comparing the first hash value with the second hash value; If the second hash value is different from the first hash value, determining the second sequence tag of the missing fragmented data packets according to the pre-configured data packet sequence rule and the first sequence tag; Sending a retransmission request to the Visual Link Router at the sending end, where the retransmission request includes the second sequence tag; The non-video data packets further include the data content of the fragmented data packets and a third hash value, the data content of the fragmented data packets corresponds to the first sequence tag, and the third hash value is obtained by the Visual Link Router at the sending end through hash operation according to the second sequence tag of the fragmented data packets and the data content corresponding to the second sequence tag; the method further includes: Performing a hash operation on the first sequence tag of the fragmented data packets and the data content corresponding to the first sequence tag to obtain a fourth hash value; If the fourth hash value is the same as the third hash value, storing the received fragmented data packets in the database; If the fourth hash value is different from the third hash value, sending the retransmission request to the Visual Link Router at the sending end, where the retransmission request includes the first sequence tag corresponding to the fourth hash value; The method further includes: Pre-configuring parameters for the Visual Link Router at the sending end and the Visual Link Router at the receiving end, where the parameter configuration includes at least one of the data packet sequence rule, sequence tag length, and transmission protocol parameters, and the data packet sequence rule includes at least a data packet increment sequence rule.

2. The method according to claim 1, characterized in that, the method further includes: If the second hash value is the same as the first hash value, returning a heartbeat connection response to the Visual Link Router at the sending end, where the heartbeat connection response includes information indicating that the data packet transmission is completed.

3. The method according to claim 1, characterized in that, Before receiving the non-video data packets sent by the Visual Link Router at the sending end, the method further includes: The Visual Link Router at the sending end splits the non-video data packets to obtain the fragmented data packets; The Visual Link Router at the sending end sets the first sequence tag for the fragmented data packets, where the first sequence tag is a binary sequence tag of 4 to 16 bits.

4. A data transmission device, characterized in that, it is applied to the Visual Link router at the receiving end, and the device includes: a receiving module, configured to receive non-video data packets sent by the Visual Link router at the sending end, where the non-video data packets include at least two fragmented data packets; a data transmission tunnel is established between the Visual Link router at the sending end and the Visual Link router at the receiving end to implement the transmission of non-video data packets; a parsing module, configured to parse the non-video data packets to obtain the first quantity of the fragmented data packets, the first sequence tag of the fragmented data packets, and the first hash value, where the first hash value is determined by the Visual Link router at the sending end according to the second quantity of the fragmented data packets and the second sequence tag of the fragmented data packets; a calculation module, configured to determine a second hash value according to the first quantity of the fragmented data packets and the first sequence tag of the fragmented data packets; a determination module, configured to compare the first hash value with the second hash value; if the second hash value is different from the first hash value, then determine the second sequence tag of the missing fragmented data packet according to the pre-configured data packet sequence rule and the first sequence tag; a first retransmission module, configured to send a retransmission request to the Visual Link router at the sending end, where the retransmission request includes the second sequence tag; the non-video data packets further include the data content of the fragmented data packets and a third hash value, the data content of the fragmented data packets corresponds to the first sequence tag, and the third hash value is obtained by the Visual Link router at the sending end through a hashing operation on the second sequence tag of the fragmented data packets and the data content corresponding to the second sequence tag; the device further includes a second retransmission module, and the second retransmission module is configured to: perform a hashing operation on the first sequence tag of the fragmented data packet and the data content corresponding to the first sequence tag to obtain a fourth hash value; the third hash value and the fourth hash value are used to determine whether the received fragmented data packet is the fragmented data packet sent by the Visual Link router at the sending end; if the fourth hash value is the same as the third hash value, then save the received fragmented data packet in the database; if the fourth hash value is different from the third hash value, then send the retransmission request to the Visual Link router at the sending end, where the retransmission request includes the first sequence tag corresponding to the fourth hash value; the device further includes: a first configuration module, and the first configuration module is configured to: pre-configure parameters for the Visual Link router at the receiving end, where the parameter configuration includes at least one of the data packet sequence rule, the sequence tag length, and the transmission protocol parameter, and the data packet sequence rule includes at least a data packet increment sequence rule.

5. The device according to claim 4, characterized in that, the device further includes a response module, and the response module is configured to: if the second hash value is different from the first hash value, then return a heartbeat connection response to the Visual Link router at the sending end, where the heartbeat connection response includes information indicating that the data packet transmission is completed.

6. A terminal device, It is characterized in that including: at least one processor and a memory; the memory stores a computer program; the at least one processor executes the computer program stored in the memory to implement the data transmission method according to any one of claims 1-3.

7. A computer-readable storage medium It is characterized in that the computer-readable storage medium stores a computer program, and when the computer program is executed, the data transmission method according to any one of claims 1-3 is implemented.

Citation Information

Patent Citations

  • Data recovery method, device and system

    CN109697136A

  • Transmission data verification method and storage medium

    CN111200479A