Data multi-fed and selective receiving method and system based on user mode, and medium
By deploying the multiple-send and selective SDK in the user mode, the problems of poor portability and deployability caused by the implementation of the multiple-send and selective methods in the kernel mode in the prior art are solved, and higher maintenance efficiency and rapid network recovery are achieved.
Patent Information
- Application Number
- PCT/CN2024/133459
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-13
- Filing Date
- 2024-11-21
- Publication Date
- 2025-06-19
AI Technical Summary
The existing multiple-send and selective methods are implemented in the kernel state, resulting in poor portability and deploymentability, high maintenance costs and unrecoverable when an error occurs, so the entire system needs to be restarted.
The multiple-transmission selection and reception SDK is deployed in the user state, and the forwarded data frames are tagged, sent, aggregated and forwarded through the multiple-transmission unit and the aggregation unit to form a multiple-transmission selection and reception method, system and medium based on the user state.
Improves the portability and deployability of the multiple-send and selective functions, reduces maintenance and deployment costs, and can quickly recover the network in the event of software failure, avoiding restarting the entire system.
Smart Images

Figure CN2024133459_19062025_PF_FP_ABST
Abstract
Description
User-state-based data multiple transmission and selective reception method, system, and medium
[0001] This application is based on the Chinese patent application with application number 202311716831.4 and application date December 13, 2023, and claims its priority. The entire content of the application is hereby introduced as a whole into this application. Technical Field
[0002] The present application relates to the technical field of data transmission, and in particular to a method, system and medium for multiple transmission and selective reception of data based on user mode. Background Art
[0003] Multiple transmission and selective reception (also known as multi-path packet replication) is a packet loss mitigation technology. The sending device replicates data packets and sends both the original and replicated packets together over the two highest-quality links. If packets are lost on one link, the receiving device restores them using the replicated packets on another link, eliminating the need for retransmission. Multiple transmission and selective reception is suitable for services with low traffic volumes but high reliability requirements, such as VoIP, payment services, and 5G industrial scenarios.
[0004] To meet packet forwarding efficiency and latency requirements, existing multi-transmitter and selective receiver methods are typically implemented in kernel mode. However, this presents numerous challenges. For example, upgrading or fixing a feature requires updating the entire kernel firmware. This results in extremely high maintenance costs and poor portability. For example, if you want to port this feature directly to another kernel version, it will obviously not work without appropriate kernel modifications. Furthermore, if errors occur during kernel mode execution, recovery is impossible and the entire system must be restarted. Application Contents
[0005] The embodiments of the present application provide a method, system, and medium for selectively transmitting and receiving multiple data based on user mode, aiming to solve the problems of poor portability and deployability of existing methods for selectively transmitting and receiving multiple data.
[0006] In a first aspect, an embodiment of the present application provides a user-state-based data multi-transmission and selective reception method, which is applied to a first terminal device and a second terminal device. The user states of the first terminal device and the second terminal device are both built with a multi-transmission and selective reception SDK. The multi-transmission and selective reception SDK includes a multi-transmission unit and a convergence unit. The multi-transmission and selective reception SDK, a LAN data channel, and multiple VPN data channels constitute a network topology. The method includes:
[0007] If the first terminal device receives the data frame to be forwarded, the multi-transmission unit tags the data frame to be forwarded to obtain a labeled data frame, and the multi-transmission unit sends the labeled data frame to the second terminal device through multiple VPN data channels, wherein the labeled data frame includes the data frame to be forwarded and the label data;
[0008] If the second terminal device receives multiple labeled data frames sent by the first terminal device through multiple VPN data channels, it aggregates the multiple labeled data frames through the aggregation unit according to the label data to obtain the data frames to be forwarded, and forwards the data frames to be forwarded through one LAN data channel through the aggregation unit.
[0009] In the second aspect, the embodiment of the present application also provides a user-state-based data multi-transmission and selective reception system, which is applied to a first terminal device and a second terminal device. The user states of the first terminal device and the second terminal device are both built with a multi-transmission and selective reception SDK. The multi-transmission and selective reception SDK includes a multi-transmission unit and an aggregation unit. The multi-transmission and selective reception SDK, a LAN data channel, and multiple VPN data channels constitute a network topology. The system includes: a marking and sending unit configured in the first terminal device, and an aggregation and forwarding unit configured in the second terminal device, wherein,
[0010] The tag sending unit is configured to, upon receiving a data frame to be forwarded, tag the data frame to be forwarded by the multi-transmission unit to obtain a labeled data frame, and send the labeled data frame to the second terminal device via the multi-transmission unit through multiple VPN data channels, wherein the labeled data frame includes the data frame to be forwarded and the label data;
[0011] The aggregation and forwarding unit is used for, if the second terminal device receives multiple labeled data frames sent by the first terminal device through multiple VPN data channels, aggregating the labeled data frames through the aggregation unit according to the label data to obtain the data frames to be forwarded, and forwarding the data frames to be forwarded through one of the LAN data channels through the aggregation unit.
[0012] In the third aspect, an embodiment of the present application also provides a user-state-based data multi-transmission and selective reception system, which includes a first terminal device and a second terminal device, the first terminal device and the second terminal device both include a memory and a processor, a computer program is stored on the memory, and the processors of the first terminal device and the second terminal device implement the above method when executing the computer program.
[0013] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium, wherein the storage medium stores a computer program, and the computer program can implement the above method when executed by a processor.
[0014] The embodiment of the present application provides a method, system and medium for data multi-transmission and selective reception based on user state. The method includes: if the first terminal device receives a data frame to be forwarded, the multi-transmission unit tags the data frame to be forwarded to obtain a tagged data frame, and the multi-transmission unit sends the tagged data frame to the second terminal device through multiple VPN data channels, wherein the tagged data frame includes the data frame to be forwarded and the tag data; if the second terminal device receives multiple tagged data frames sent by the first terminal device through multiple VPN data channels, the aggregation unit aggregates the multiple tagged data frames according to the tag data to obtain the data frame to be forwarded, and the aggregation unit forwards the data frame to be forwarded through one LAN data channel. In the technical solution of the embodiment of the present application, the multi-transmission and selective reception SDK is first deployed in the user state of the first terminal device and the second terminal device, and then the multi-transmission unit and the aggregation unit in the multi-transmission and selective reception SDK are used to tag, send, aggregate and forward the data frame to be forwarded. This not only has good portability and deployability, but also reduces maintenance and deployment costs. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the description of the embodiments. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0016] FIG1 is a flow chart of a method for selectively transmitting and receiving multiple data based on user state provided in an embodiment of the present application;
[0017] FIG2 is a simple schematic diagram of a multiple-transmit and selective-receive SDK deployed in user mode according to an embodiment of the present application;
[0018] FIG3 is a detailed schematic diagram of the multiple-transmit and selective-receive SDK deployed in user mode according to an embodiment of the present application;
[0019] FIG4 is a schematic diagram of data transmission and data reception provided in an embodiment of the present application;
[0020] FIG5 is a schematic diagram showing the function of a message ID provided by an embodiment of the present application;
[0021] FIG6 is a schematic diagram illustrating the function of a reset indicator according to an embodiment of the present application;
[0022] FIG7 is a schematic diagram showing the function of a display device ID according to an embodiment of the present application;
[0023] FIG8 is a schematic block diagram of a user-mode-based data multiple transmission and selective reception system provided in an embodiment of the present application;
[0024] FIG9 is a schematic block diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0025] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0026] It will be understood that when used in this specification and the appended claims, the terms “comprises” and “comprising” indicate the presence of described features, integers, steps, operations, elements and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.
[0027] It should also be understood that the terms used in this specification are for the purpose of describing specific embodiments only and are not intended to limit the present application. As used in this specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context clearly indicates otherwise.
[0028] It should be further understood that the term "and / or" used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
[0029] As used in this specification and the appended claims, the term “if” can be interpreted as “when” or “upon” or “in response to determining” or “in response to detecting,” depending on the context. Similarly, the phrase “if it is determined” or “if [described condition or event] is detected” can be interpreted as meaning “upon determination” or “in response to determining” or “upon detection of [described condition or event]” or “in response to detecting [described condition or event],” depending on the context.
[0030] FIG1 is a flow chart of a method for selectively transmitting and receiving data based on user state provided in an embodiment of the present application. The method for selectively transmitting and receiving data based on user state in an embodiment of the present application can be applied to a system for selectively transmitting and receiving data based on user state. For example, the method for selectively transmitting and receiving data based on user state can be implemented by a software program configured on a system for selectively transmitting and receiving data based on user state, so as to improve portability and deployability and reduce maintenance and deployment costs. The system for selectively transmitting and receiving data based on user state includes a first terminal device and a second terminal device, and the first terminal device and the second terminal device communicate with each other to forward data frames to be forwarded. It should be noted that, in actual applications, there is more than one first terminal device, and the second terminal device can be a server. As shown in FIG1 , the method includes the following steps S110-S120.
[0031] S110. If the first terminal device receives a data frame to be forwarded, it labels the data frame to be forwarded through the multi-transmission unit to obtain a labeled data frame, and sends the labeled data frame to the second terminal device through the transmission unit via multiple VPN data channels, wherein the labeled data frame includes the data frame to be forwarded and label data.
[0032] In an embodiment of the present application, both the first and second terminal devices have a built-in multi-transmitter and selective-receiver SDK (Software Development Kit) in user mode. Specifically, as shown in Figures 2 and 3, the multi-transmitter and selective-receiver SDK includes a multi-transmitter unit and a convergence unit. The multi-transmitter and selective-receiver SDK, a LAN (Local Area Network) data channel, and multiple VPN (Virtual Private Network) data channels form a network topology. The LAN data channel is connected to a Linux bridge br2 via virtual network cards veth0 and veth1. The multiple VPN data channels, as shown in Figure 3, are, for example, a first VPN data channel and a second VPN data channel. The first VPN data channel is connected to a Linux bridge br0 via virtual network cards veth4 and veth5, while the second VPN data channel is connected to a Linux bridge br1 via virtual network cards veth2 and veth3. It should be noted that in this embodiment, veth0, veth1, veth2, veth3, veth4, and veth5 are virtual network devices in Linux. It should also be noted that, in this embodiment, the user can connect the LAN port that needs to forward data to the bridge br2 according to needs, thereby realizing the multi-transmit and selective receive function.
[0033] Furthermore, after the network topology deployment is complete in the first and second terminal devices, if the first terminal device receives a data frame to be forwarded, the multi-transmission unit tags the data frame to be forwarded to obtain a tagged data frame, and then transmits the tagged data frame to the second terminal device via multiple VPN data channels. The tagged data frame includes the data frame to be forwarded and the tag data. It should be noted that in this embodiment, the multi-transmission unit primarily functions to tag the data frame to be forwarded and then transmits the tagged data frame to be forwarded (i.e., the tagged data frame) to the second terminal device via the VPN port, thereby achieving data multi-transmission. As shown in Figure 4, frames with the same color represent the same Layer 2 data frame (i.e., the data frame to be forwarded, which is an Ethernet data frame). After passing through the multi-transmission unit, each of the data frames to be forwarded is tagged to obtain a tagged data frame. The tagged data frames are then transmitted via multiple VPN data channels. Understandably, the tagged data frames in multiple VPN data channels will be tagged with the same data tag. The aggregation unit's primary function is to aggregate multiple received labeled data frames based on their data tags. During aggregation, identical data frames are discarded, retaining only one copy. This way, even if a single data frame is lost along a VPN data channel, data aggregation is not affected. As shown in Figure 4, data frames with identical data tags pass through the aggregation unit and are aggregated into one data channel (i.e., data frames to be forwarded, consisting of frames to be forwarded). This data is then forwarded through the LAN port of the multi-transmission unit.
[0034] Furthermore, the tag data includes a message ID, a reset flag, a device ID, and a magic number. If the first terminal device receives a data frame to be forwarded, the multi-transmission unit tags the data frame to be forwarded to obtain a tagged data frame. This includes: if the first terminal device does not reset during the process of receiving the data frame to be forwarded, the multi-transmission unit tags the message ID, the reset flag, the device ID, and the magic number corresponding to the data frame to be forwarded to obtain the tagged data frame; if the first terminal device resets during the process of receiving the data frame to be forwarded, the multi-transmission unit resets the message ID corresponding to the data frame to be forwarded after the reset and modifies the reset flag, so that the device ID and magic number remain the same as before the reset. It should be noted that the tag data in this embodiment must be appended to the end of the Layer 2 network data frame in the format of Ethernet data packet + tag. The specific format and content of the data tag are as follows: message ID (4 bytes) + reset flag (2 bytes) + device ID (1 byte) + magic number (1 byte). Among them, message ID: identifies the uniqueness of the data packet (data frame) within the valid time range. For data packets (data frames to be forwarded) with the same ID, one must be eliminated. Reset ID: When the device is restarted, the message ID will be reset, and the reset ID will also be updated. Device ID: identifies which terminal device the data packet (data frame to be forwarded) is sent from, and is used to identify the terminal device. Magic number: used to distinguish between tagged data and untagged data. If there is no magic number mark, it indicates that the data frame to be forwarded is not tagged, and the data packet (data frame to be forwarded) will be discarded. Understandably, because Ethernet Layer 2 data packets do not have a data packet length field, in order to reduce the inspection of the data in the data packet, the magic number identifier is used to distinguish and improve the forwarding efficiency of the data packet, that is, to improve the forwarding efficiency of the data frame to be forwarded.
[0035] S120. If the second terminal device receives multiple labeled data frames sent by the first terminal device through multiple VPN data channels, the multiple labeled data frames are aggregated through the aggregation unit according to the label data to obtain the data frames to be forwarded, and the data frames to be forwarded are forwarded through one LAN data channel through the aggregation unit.
[0036] In an embodiment of the present application, if the second terminal device (server) receives multiple labeled data frames sent by the first terminal device (at least one terminal device) through multiple VPN data channels, the multiple labeled data frames are aggregated by the aggregation unit according to the label data to obtain the data frame to be forwarded. Specifically, the second terminal device detects the magic number, the device ID and the reset identifier corresponding to the multiple label data frames; if there is a magic number that is not a preset magic value among all the magic numbers, indicating that there are unmarked data frames, the label data frames corresponding to the magic number in the multiple label data frames are discarded to obtain multiple target label data frames; it can be understood that if there is no magic number that is not a preset magic value among all the magic numbers, indicating that there are no unmarked data frames, the multiple label data frames are used as multiple target label data frames; if all the device IDs are the same device ID and all the reset identifiers are preset reset identifiers, indicating that it is point-to-point data forwarding and the data sending end (the first terminal device) has not been restarted during the data forwarding process, the multiple target label data frames are aggregated by the aggregation unit according to the message ID to obtain the data frame to be forwarded. Specifically, as shown in Figure 5, the message ID primarily identifies the same data packet (data frame to be forwarded), uniquely identifying the data packet (data frame to be forwarded). For data packets (data frames to be forwarded) with the same ID, one must be removed to ensure zero packet loss and low latency. Understandably, as shown in Figure 7, when a data packet with a message ID of 3 is lost in the first VPN data channel and a data packet with a message ID of 5 is lost in the second VPN data channel, when aggregation is performed on the server side, since the data packet with a message ID of 3 in the second VPN data channel was not lost and the data packet with a message ID of 5 in the first VPN data channel was not lost, the aggregated data packet remains the data packet to be forwarded that the first terminal device needs to forward, and the data packet remains unchanged.
[0037] Furthermore, if all the device IDs are the same device ID and a non-preset reset identifier exists in the reset identifier, indicating that the data is forwarded point-to-point and the data sending end (the first terminal device) is restarted during the data forwarding process, then the multiple target label data frames are aggregated by the aggregation unit according to the message ID and the reset identifier to obtain the data frame to be forwarded. Specifically, the reset identifier is mainly used to assist the message ID (used to identify the uniqueness of the data packet and to eliminate invalid duplicate data). If only the message ID is used to identify the data, when the first terminal device is restarted, the message ID will be reset, and the message ID will be repeated in a short time, resulting in data packet loss. In order to solve the above problem, as shown in Figure 6, when the message ID is reset, the reset identifier will be changed from the preset reset identifier 1 to the non-preset identifier 0. It is understandable that in other embodiments, the preset reset identifier can also be set to 0 and the non-preset identifier to 1, that is, changed from the preset reset identifier 0 to the non-preset identifier 1. This is not specifically limited here. The server-side multi-transmission and selective reception will reset the aggregation algorithm to prevent data packets from being lost.
[0038] Furthermore, if all the device IDs are different and all the reset identifiers are preset reset identifiers, indicating that the data forwarding is not point-to-point and the data sender (first terminal device) has not rebooted during the data forwarding process, the aggregation unit aggregates multiple target tagged data frames based on the device ID and the message ID to obtain the data frame to be forwarded. Specifically, as shown in FIG7 , there are two first terminal devices, Terminal 1 and Terminal 2. In FIG7 , the third bit of the device ID in the tag data is set to 1 and 2, respectively. Based on the device ID and message ID, the server can aggregate the data frames to be forwarded from Terminal 1 and Terminal 2 to obtain Device 1 data and Device 2 data. It is understood that if all the device IDs are different and a non-preset reset identifier is included among the reset identifiers, indicating that the data forwarding is not point-to-point and the data sender (first terminal device) has rebooted during the data forwarding process, the aggregation unit aggregates multiple target tagged data frames based on the device ID, the message ID, and the reset identifier to obtain the data frame to be forwarded. It's important to note that the device ID identifies the data packet's origin, specifically the terminal device that sent it. This identifier is ignored for point-to-point VPN data channels, but it is crucial for mesh VPNs (where the server only has a single virtual network interface card receiving data) to distinguish between the data packet and the terminal device.
[0039] Furthermore, after the second terminal device aggregates and obtains the data frames to be forwarded, the multi-transmission unit forwards the data frames to be forwarded via one of the LAN data channels. It should be noted that the software for the multi-transmission and selective reception service has two forms: client and server. During deployment and implementation, the client software is deployed to a regular terminal and the server software is deployed to a server. Multi-transmission and selective reception can then be implemented by configuring at least two optimal links.
[0040] In summary, this application deploys the multi-transmit selective reception SDK in user mode. Compared with the kernel-mode solution for data forwarding and aggregation (the kernel-mode solution aggregates network card data using bond network cards and uses the multi-transmit selective reception SDK to filter invalid data, which is highly hardware-dependent and has poor portability and deployability), this improves the portability and deployability of the multi-transmit selective reception function, enhances product value, and reduces maintenance and deployment costs. Furthermore, if the software fails, only the software needs to be restarted, without restarting the entire system, and the network can be quickly restored. While labeling the data, the original network Layer 2 data packets are not damaged.
[0041] Figure 8 is a schematic block diagram of a user-state-based data multiple transmission and selective reception system 200 provided in an embodiment of the present application. As shown in Figure 8 , corresponding to the user-state-based data multiple transmission and selective reception method applied to the first and second terminal devices, the user-state-based data multiple transmission and selective reception system 200 includes a unit for executing the user-state-based data multiple transmission and selective reception method. Specifically, referring to Figure 8 , the user-state-based data multiple transmission and selective reception system 200 includes a marking and sending unit 101 configured in the first terminal device and a convergence and forwarding unit 201 configured in the second terminal device.
[0042] Among them, the labeling and sending unit 101 is used for, if the first terminal device receives a data frame to be forwarded, labeling the data frame to be forwarded through the multi-transmission unit to obtain a label data frame, and sending the label data frame to the second terminal device through multiple VPN data channels through the multi-transmission unit, wherein the label data frame includes the data frame to be forwarded and label data; the aggregation and forwarding unit 201 is used for, if the second terminal device receives multiple label data frames sent by the first terminal device through multiple VPN data channels, aggregating the multiple label data frames through the aggregation unit according to the label data to obtain the data frame to be forwarded, and forwarding the data frame to be forwarded through one LAN data channel through the aggregation unit.
[0043] In some embodiments, such as this embodiment, the marking sending unit 101 includes a first marking unit and a second marking unit.
[0044] Among them, the first marking unit is used to, if the first terminal device is not reset during the process of receiving the data frame to be forwarded, label the message ID, the reset identifier, the device ID and the magic number corresponding to the data frame to be forwarded through the multi-transmission unit to obtain the labeled data frame; the second marking unit is used to, if the first terminal device is reset during the process of receiving the data frame to be forwarded, reset the message ID corresponding to the data frame to be forwarded after the reset through the multi-transmission unit, and modify the reset identifier, so that the device ID and the magic number remain consistent with those before the reset.
[0045] In some embodiments, such as this embodiment, the aggregation and forwarding unit 201 includes a detection unit, a discarding unit, an acting unit, a first aggregation unit, a second aggregation unit, a third aggregation unit, and a fourth aggregation unit.
[0046] Wherein, the detection unit is used to detect the magic number, the device ID and the reset identifier corresponding to the multiple label data frames; the discarding unit is used to discard the label data frames corresponding to the magic number in the multiple label data frames to obtain multiple target label data frames if there is a magic number that is not a preset magic number among all the magic numbers; the acting unit is used to use the multiple label data frames as the multiple target label data frames if there is no magic number that is not a preset magic number among all the magic numbers; the first aggregation unit is used to aggregate the multiple target label data frames through the aggregation unit according to the message ID to obtain the data frame to be forwarded if all the device IDs are the same device ID and all the reset identifiers are preset reset identifiers; the second aggregation unit is used to aggregate the multiple target label data frames through the aggregation unit according to the message ID to obtain the data frame to be forwarded if all the device IDs are the same device ID and all the reset identifiers are preset reset identifiers; If the ID is the same device ID and there is a non-preset reset identifier in the reset identifier, then the multiple target label data frames are aggregated through the aggregation unit according to the message ID and the reset identifier to obtain the data frame to be forwarded; the third aggregation unit is used to aggregate multiple target label data frames through the aggregation unit according to the device ID and the message ID to obtain the data frame to be forwarded if all the device IDs are not the same device ID and all the reset identifiers are the preset reset identifier; the fourth aggregation unit is used to aggregate multiple target label data frames through the aggregation unit according to the device ID, the message ID and the reset identifier to obtain the data frame to be forwarded if all the device IDs are not the same device ID and there is a non-preset reset identifier in the reset identifier.
[0047] It should be noted that technical personnel in the relevant field can clearly understand that the specific implementation process of the above-mentioned user-state-based data multi-transmission and selective reception system 200 and each unit can refer to the corresponding description in the aforementioned method embodiment. For the convenience and conciseness of the description, it will not be repeated here.
[0048] The above-mentioned user-mode-based data multiple transmission and selective reception system can be implemented in the form of a computer program, and the computer program can be run on the computer device shown in FIG9 .
[0049] Please refer to Figure 9, which is a schematic block diagram of a computer device provided in an embodiment of the present application. The computer device 900 is a first terminal device and a second terminal device.
[0050] 9 , the computer device 900 includes a processor 902 , a memory, and an interface 907 connected via a system bus 901 , wherein the memory may include a storage medium 903 and an internal memory 904 .
[0051] The storage medium 903 can store an operating system 9031 and a computer program 9032. When the computer program 9032 is executed, the processor 902 can execute a method for multiple transmission and selective reception of data based on user mode.
[0052] The processor 902 is used to provide computing and control capabilities to support the operation of the entire computer device 900.
[0053] The internal memory 904 provides an environment for the operation of the computer program 9032 in the storage medium 903. When the computer program 9032 is executed by the processor 902, the processor 902 can execute a method for multiple transmission and selective reception of data based on user mode.
[0054] The interface 905 is used to communicate with other devices. Those skilled in the art will understand that the structure shown in FIG9 is merely a block diagram of a portion of the structure related to the solution of the present application, and does not constitute a limitation on the computer device 900 to which the solution of the present application is applied. The specific computer device 900 may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0055] The processor 902 of each of the first terminal device and the second terminal device is configured to run a computer program 9032 stored in a memory to implement any embodiment of the above-mentioned method for multiple transmission and selective reception of data based on user mode.
[0056] It should be understood that in the embodiment of the present application, the processor 902 may be a central processing unit (CPU), and the processor 902 may also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Among them, the general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.
[0057] Those skilled in the art will appreciate that all or part of the steps in the method of the above-described embodiment can be implemented by instructing relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium. The computer program is executed by at least one processor in the wireless communication system to implement the steps in the method of the above-described embodiment.
[0058] Therefore, the present application also provides a storage medium. The storage medium may be a computer-readable storage medium. The storage medium stores a computer program. When executed by a processor, the computer program causes the processor to execute any embodiment of the above-mentioned method for multiple transmission and selective reception of data based on user mode.
[0059] The storage medium may be any computer-readable storage medium that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a magnetic disk, or an optical disk.
[0060] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, wireless communication 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 terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can 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.
[0061] In the several embodiments provided herein, it should be understood that the disclosed systems and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative. For example, the division of the various units is merely a logical functional division, and actual implementation may employ other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be omitted or not implemented.
[0062] The steps in the method of the embodiment of the present application can be adjusted in order, combined, and deleted according to actual needs. The units in the system of the embodiment of the present application can be combined, divided, and deleted according to actual needs. In addition, the functional units in the various embodiments of the present application can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into a single unit.
[0063] If this integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a storage medium. Based on this understanding, the technical solution of this application, or the part that contributes to the existing technology, or all or part of this technical solution can be embodied in the form of a software product. This wireless communication software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal wireless communication, terminal, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of this application.
[0064] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0065] Obviously, those skilled in the art may make various modifications and variations to this application without departing from the spirit and scope of this application. Thus, as long as these modifications and variations of this application fall within the scope of the claims of this application and their equivalents, this application is intended to include these modifications and variations.
[0066] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in the present application, and such modifications or substitutions should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.
Claims
1. A method for selectively receiving multiple data transmissions based on user state, applied to a first terminal device and a second terminal device, characterized in that: The user states of the first terminal device and the second terminal device both have built-in multi-transmit and selective-receive SDKs, the multi-transmit and selective-receive SDKs include a multi-transmit unit and a convergence unit, the multi-transmit and selective-receive SDKs, one LAN data channel, and multiple VPN data channels constitute a network topology, and the method includes: If the first terminal device receives the data frame to be forwarded, the multi-transmission unit tags the data frame to be forwarded to obtain a labeled data frame, and the multi-transmission unit sends the labeled data frame to the second terminal device through multiple VPN data channels, wherein the labeled data frame includes the data frame to be forwarded and the label data; If the second terminal device receives multiple labeled data frames sent by the first terminal device through multiple VPN data channels, the multiple labeled data frames are aggregated through the aggregation unit according to the label data to obtain the data frames to be forwarded, and the data frames to be forwarded are forwarded through one LAN data channel through the aggregation unit.
2. The method for multiple transmission and selective reception of data based on user state according to claim 1, characterized in that: The label data includes a message ID, a reset flag, a device ID, and a magic number; if the first terminal device receives a data frame to be forwarded, the multi-transmission unit labels the data frame to be forwarded to obtain a label data frame, including: If the first terminal device is not reset during the process of receiving the data frame to be forwarded, the message ID, the reset identifier, the device ID and the magic number corresponding to the data frame to be forwarded are tagged by the multi-transmission unit to obtain the tagged data frame; If the first terminal device is reset during the process of receiving the data frame to be forwarded, the message ID corresponding to the data frame to be forwarded after the reset is reset through the multi-transmission unit, and the reset flag is modified, and the device ID and the magic number remain consistent with before the reset.
3. The method for multiple transmission and selective reception of data based on user state according to claim 2, characterized in that: The step of aggregating multiple labeled data frames through the aggregation unit according to the label data to obtain the data frame to be forwarded includes: Detecting the magic number, the device ID and the reset flag corresponding to multiple tag data frames; If there is a magic number that is not a preset magic number among all the magic numbers, discard the label data frames corresponding to the magic number in the multiple label data frames to obtain multiple target label data frames; If there is no magic number that is not a preset magic value among all the magic numbers, taking the multiple channels of label data frames as the multiple channels of target label data frames; If all the device IDs are the same device ID and all the reset identifiers are preset reset identifiers, multiple target label data frames are aggregated by the aggregation unit according to the message ID to obtain the data frame to be forwarded.
4. The method for multiple transmission and selective reception of data based on user state according to claim 3, characterized in that: If there is no magic number that is not a preset magic value among all the magic numbers, after taking the multiple label data frames as the target label data frames, the method further includes: If all the device IDs are the same device ID and a non-preset reset identifier exists in the reset identifier, multiple target label data frames are aggregated through the aggregation unit according to the message ID and the reset identifier to obtain the data frame to be forwarded.
5. The method for multiple transmission and selective reception of data based on user state according to claim 3, characterized in that: If there is no magic number that is not a preset magic value among all the magic numbers, after taking the multiple label data frames as the target label data frames, the method further includes: If all the device IDs are not the same device ID and all the reset identifiers are the preset reset identifiers, multiple target label data frames are aggregated through the aggregation unit according to the device ID and the message ID to obtain the data frame to be forwarded.
6. The method for multiple transmission and selective reception of data based on user state according to claim 3, characterized in that: If there is no magic number that is not a preset magic value among all the magic numbers, then after taking the multiple label data frames as the target label data frames, the following is further included: If all the device IDs are not the same device ID and there is a non-preset reset identifier in the reset identifier, the multiple target label data frames are aggregated by the aggregation unit according to the device ID, the message ID and the reset identifier to obtain the data frame to be forwarded.
7. The method for multiple transmission and selective reception of data based on user state according to claim 1, characterized in that: The LAN data channel is connected to the Linux bridge br2 through the virtual network card veth0 and the virtual network card veth1; at least the VPN data channels are respectively the first VPN data channel and the second VPN data channel, the first VPN data channel is connected to the Linux bridge br0 through the virtual network card veth4 and the virtual network card veth5; the second VPN data channel is connected to the Linux bridge br1 through the virtual network card veth2 and the virtual network card veth3.
8. A user-mode based data multiple transmission and selective reception system, applied to a first terminal device and a second terminal device, characterized in that: The user states of the first terminal device and the second terminal device are both built with a multiple-transmit and multiple-receive SDK, the multiple-transmit and multiple-receive SDK includes a multiple-transmit unit and a convergence unit, the multiple-transmit and multiple-receive SDK, a LAN data channel and multiple VPN data channels constitute a network topology, the system includes: a marking and sending unit configured in the first terminal device, and a convergence and forwarding unit configured in the second terminal device, wherein: The tag sending unit is used for, if the first terminal device receives a data frame to be forwarded, tagging the data frame to be forwarded through the multi-transmission unit to obtain a tag data frame, and sending the tag data frame to the second terminal device through the multi-transmission unit via multiple VPN data channels, wherein the tag data frame includes the data frame to be forwarded and tag data; The aggregation and forwarding unit is used for aggregating the labeled data frames through the aggregation unit according to the label data to obtain the data frames to be forwarded, and forwarding the data frames to be forwarded through one of the LAN data channels through the aggregation unit if the second terminal device receives multiple labeled data frames sent by the first terminal device through multiple VPN data channels.
9. A user-mode based data multiple transmission and selective reception system, characterized in that: The method comprises a first terminal device and a second terminal device, wherein the first terminal device and the second terminal device both comprise a memory and a processor, wherein a computer program is stored in the memory, and when the processors of the first terminal device and the second terminal device execute the computer program, the method as described in any one of claims 1 to 7 is implemented.
10. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 7 can be implemented.
Citation Information
Patent Citations
Multicast data transmission method and related equipment
CN110535768A
Data message multi-sending selective-receiving sending and receiving method, device and system
CN114793210A
Data transmission method and data transmission device
CN115226169A
Message processing method, system and network equipment
CN115396369A
GNSS network base station system data scheduling method based on MPTCP protocol
CN116708281A