Data stream transmission method, device, equipment and storage medium

By dividing device levels in the remote USB control system and formulating transmission strategies based on bandwidth conditions, the resource allocation problem caused by insufficient device level division is solved, priority guarantee of key equipment and stable transmission of data flows are achieved, and system performance and response speed are improved.

CN119766743BActive Publication Date: 2025-08-26HEFEI HEXAGON SEMICON CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510252323.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-05
Publication Date
2025-08-26
Estimated Expiration
2045-03-05

AI Technical Summary

Technical Problem

In the existing remote USB control system, the device level division is not fine enough, resulting in a lack of targeted resource allocation and transmission strategies, making it difficult to cope with complex multi-device environments and dynamic network changes, and data streaming transmission lags, delays and interrupts, affecting system performance and user experience.

Method used

By clearly distinguishing the equipment levels into Class I preferential equipment, Class I non-exclusive equipment and Class II equipment, a transmission strategy is formulated based on the equipment level and bandwidth conditions, ensuring priority guarantees for key equipment, using independent and public service interfaces for data streaming, and dynamically adjusting bandwidth resource allocation.

Benefits of technology

Improves the stability and fluency of data streaming, reduces transmission conflicts and congestion, and improves the performance and response speed of remote USB control systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119766743B_ABST
    Figure CN119766743B_ABST
Patent Text Reader

Abstract

The present invention discloses a data stream transmission method, apparatus, device and storage medium. It is applied to a remote USB control system, including: a remote control terminal and various proximal devices, and the method includes: obtaining a control instruction of the remote control terminal, determining a target proximal device and its corresponding device level based on the control instruction; when the device level is a class of non-preferred devices, determining the target bandwidth corresponding to the target proximal device, and determining the bandwidth sufficiency based on the target bandwidth; and performing data stream transmission between the remote control terminal and the target proximal device based on the bandwidth sufficiency. By clearly dividing the device levels, data stream transmission resources can be more accurately allocated to different types of devices, ensuring that key devices are given priority protection, determining the target bandwidth and evaluating the bandwidth sufficiency for a class of non-preferred devices, and formulating a more appropriate transmission strategy based on actual network conditions and device requirements, reducing transmission problems caused by insufficient bandwidth, and improving the stability and fluency of transmission.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of data transmission, and in particular to a data stream transmission method, apparatus, device and storage medium. Background Art

[0002] In today's era of rapid digital development, remote control technology is increasingly being used in various fields. In scenarios involving remote USB control systems, efficient and stable data transmission is crucial.

[0003] However, existing data stream transmission methods in remote USB control systems suffer from numerous issues. The lack of precise and rational device-level categorization leads to a lack of targeted resource allocation and transmission strategy development. Furthermore, traditional transmission methods often lack adaptability when dealing with complex multi-device environments and dynamically changing network conditions, prone to data stream stalls, delays, and even interruptions, severely impacting system performance and user experience. Summary of the Invention

[0004] The present invention provides a data stream transmission method, apparatus, device and storage medium, which create service ports according to device levels. Since the data between the service ports are isolated and independent of each other, there is no interference in the data transmission and reception between devices. This avoids the need to insert differentiation subsegments for distinguishing device types into the data stream, thereby reducing network overhead and effectively utilizing network bandwidth.

[0005] According to one aspect of the present invention, a data stream transmission method is provided, which is applied to a remote USB control system, including: a remote control terminal and each local device, and the method includes:

[0006] Obtaining control instructions from the remote control terminal, and determining the target proximal device and its corresponding device class based on the control instructions, wherein the device classes include Class I premium devices, Class I non-premium devices, and Class II devices;

[0007] When the device level is a Class I non-preferred device, determine the target bandwidth corresponding to the target near-end device and determine bandwidth sufficiency based on the target bandwidth;

[0008] Data stream transmission between the remote control terminal and the target near-end device is carried out based on sufficient bandwidth.

[0009] Optionally, the target proximal device and its corresponding device level are determined based on the control instruction, including: determining the target device identifier in the control instruction, and determining the target proximal device from each proximal device based on the target device identifier; determining the device type corresponding to the target proximal device, wherein the device type includes video devices and non-video devices; judging whether the device type is a video device, and if so, obtaining a preferred device list, and determining the device level of the target proximal device based on the preferred device list; otherwise, determining that the device level of the target proximal device is a Class II device.

[0010] Optionally, the device level of the target proximal device is determined based on the preferred device list, including: determining whether the target device identifier is included in the preferred device list; if so, determining the device level as a Class I preferred device; otherwise, determining the device level as a Class I non-preferred device.

[0011] Optionally, determining the bandwidth sufficiency based on the target bandwidth includes: determining the remaining bandwidth of the current transmission network; judging whether the target bandwidth is less than or equal to the remaining bandwidth, and if so, determining that the bandwidth sufficiency is sufficient; otherwise, determining that the bandwidth sufficiency is insufficient.

[0012] Optionally, data stream transmission is performed between the remote control end and the target near-end device based on bandwidth sufficiency, including: when the bandwidth sufficiency is sufficient, creating a transmission service interface according to the target bandwidth, and performing data stream transmission between the remote control end and the target near-end device through the transmission service interface; when the bandwidth sufficiency is insufficient, polling each of the first-class non-preferred devices that are communicating in turn to determine the transmission bandwidth; arranging each of the first-class non-preferred devices in order of transmission bandwidth from large to small to generate a device transmission queue; determining the target non-preferred device from the device transmission queue in turn, reducing the transmission bandwidth of the target non-preferred device according to the specified time slot, and obtaining the corresponding updated bandwidth; until the updated bandwidth is greater than or equal to the target bandwidth, starting the data stream transmission between the remote control end and the target near-end device.

[0013] Optionally, after transmitting the data stream based on sufficient bandwidth, the method further includes: when a stop transmission instruction is obtained from the remote control end, determining the idle bandwidth based on the stop transmission instruction; determining the target non-preferred devices from the device transmission queue in turn, and increasing the transmission bandwidth of the target non-preferred devices according to the specified time slot until the idle bandwidth is allocated.

[0014] Optionally, the method also includes: when the device level is a Class I premium device or a Class II device, obtaining a target service interface corresponding to the target proximal device; transmitting data streams between the remote control end and the target proximal device through the target service interface, wherein the target service interface includes an independent service interface and a public service interface, the independent service interface is dedicated to each Class I premium device, and the public service interface is shared by each Class II device.

[0015] According to another aspect of the present invention, a data stream transmission device is provided, the device comprising:

[0016] a device level determination module, configured to obtain control instructions from a remote control terminal and determine a target proximal device and its corresponding device level based on the control instructions, wherein the device levels include Class I premium devices, Class I non-premium devices, and Class II devices;

[0017] A bandwidth sufficiency determination module is used to determine the target bandwidth corresponding to the target near-end device when the device level is a Class I non-preferred device, and to determine the bandwidth sufficiency based on the target bandwidth;

[0018] The data stream transmission module is used to transmit data streams between the remote control terminal and the target near-end device according to the availability of bandwidth.

[0019] According to another aspect of the present invention, an electronic device is provided, comprising:

[0020] at least one processor;

[0021] and a memory communicatively coupled to the at least one processor;

[0022] The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute a data stream transmission method described in any embodiment of the present invention.

[0023] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement a data stream transmission method according to any embodiment of the present invention when executed.

[0024] The technical solutions of the embodiments of the present invention, by clearly classifying device levels, can more accurately allocate data stream transmission resources to different types of devices, ensuring that critical devices receive priority. They can also determine target bandwidth and assess bandwidth sufficiency for a class of non-preferred devices. This allows for the development of more appropriate transmission strategies based on actual network conditions and device requirements, mitigating transmission issues caused by insufficient bandwidth and improving transmission stability and smoothness. Targeted data stream transmission based on different device levels and bandwidth availability helps reduce transmission conflicts and congestion, improving the performance and responsiveness of the entire remote USB control system.

[0025] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present invention, nor is it intended to limit the scope of the present invention. Other features of the present invention will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0027] Figure 1 This is a flowchart of a data stream transmission method provided according to the first embodiment of the present invention;

[0028] Figure 2 is a flowchart of another data stream transmission method provided according to embodiment 2 of the present invention;

[0029] Figure 3 This is a structural diagram of a data stream transmission device provided according to a third embodiment of the present invention;

[0030] Figure 4 It is a structural diagram of an electronic device for implementing a data stream transmission method according to an embodiment of the present invention. DETAILED DESCRIPTION

[0031] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.

[0032] It should be noted that the terms "first", "second", etc. in the description and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that the numbers used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0033] Example 1

[0034] Figure 1A flowchart of a data stream transmission method is provided for the first embodiment of the present invention. This embodiment is applicable to a remote USB control system, including: a remote control terminal and various local devices. The method can be executed by a data stream transmission device, which can be implemented in the form of hardware and / or software and can be configured in a computer controller. Figure 1 As shown, the method includes:

[0035] S110. Obtain a control instruction from the remote control terminal, and determine a target proximal device and its corresponding device level based on the control instruction, wherein the device level includes a first-class premium device, a first-class non-premium device, and a second-class device.

[0036] A remote USB control system refers to a system that allows users to remotely control locally connected USB devices. It consists of a remote control terminal and various local devices. The remote control terminal can issue commands and receive feedback to local devices, just as if they were operating locally. This allows for remote device management, overcoming distance limitations. This is commonly used in teleworking and remote monitoring scenarios. The remote control terminal is a remote device or software platform, such as a computer or mobile app, that allows users to issue various operational commands. Local devices, such as cameras and printers, are located locally and close to the actual business scenario. These devices connect to the system via USB ports, receive commands from the remote control terminal, and perform corresponding actions. Control commands are instructions sent by the remote control terminal, conveying the user's intended operation and instructing the local device to perform a specific action, such as starting video recording or adjusting the camera angle. The target local device is the specific device selected by the control command among multiple local devices to perform the corresponding action. Device level is used to distinguish different proximal devices in terms of data transmission requirements, importance, etc., and the levels of proximal devices include Class 1 Premium devices, Class 1 Non-Premium devices, and Class 2 devices.

[0037] Specifically, Class 1 Premium devices are near-end devices that enjoy priority and high-quality resource allocation for data transmission. They typically have extremely high requirements for real-time data transmission, stability, and bandwidth, and must ensure efficient and reliable data transmission. Class 1 Non-Premium devices have a lower data transmission priority than Class 1 Premium devices. Although they also have certain transmission needs, their importance and real-time requirements are relatively lower. Class 2 devices, on the other hand, are near-end devices with relatively low requirements for real-time data transmission and bandwidth, and thus have a relatively low priority in system resource allocation.

[0038] S120: When the device level is a non-preferred device, determine a target bandwidth corresponding to the target near-end device, and determine bandwidth sufficiency based on the target bandwidth.

[0039] The target bandwidth is the network bandwidth required for the target near-end device to stably and smoothly complete the transmission task. The bandwidth sufficiency refers to the determination of whether the available bandwidth in the current network environment can meet the needs of the target near-end device, including whether the bandwidth is sufficient or insufficient.

[0040] Optionally, determining the bandwidth sufficiency based on the target bandwidth includes: determining the remaining bandwidth of the current transmission network; judging whether the target bandwidth is less than or equal to the remaining bandwidth, and if so, determining that the bandwidth sufficiency is sufficient; otherwise, determining that the bandwidth sufficiency is insufficient.

[0041] Specifically, the controller determines the remaining bandwidth of the current transmission network and compares the target bandwidth with the remaining bandwidth. If the target bandwidth is less than or equal to the remaining bandwidth, it indicates that the current network resources are sufficient to support the video stream transmission of the target near-end device, so the bandwidth sufficiency is determined to be sufficient. If the target bandwidth exceeds the remaining bandwidth, it indicates that the existing network resources cannot meet the demand. At this time, it is necessary to determine that the bandwidth sufficiency is insufficient.

[0042] S130: Transmit data streams between the remote control terminal and the target near-end device based on sufficient bandwidth.

[0043] Optionally, data stream transmission is performed between the remote control end and the target near-end device based on bandwidth sufficiency, including: when the bandwidth sufficiency is sufficient, creating a transmission service interface according to the target bandwidth, and performing data stream transmission between the remote control end and the target near-end device through the transmission service interface; when the bandwidth sufficiency is insufficient, polling each of the first-class non-preferred devices that are communicating in turn to determine the transmission bandwidth; arranging each of the first-class non-preferred devices in order of transmission bandwidth from large to small to generate a device transmission queue; determining the target non-preferred device from the device transmission queue in turn, reducing the transmission bandwidth of the target non-preferred device according to the specified time slot, and obtaining the corresponding updated bandwidth; until the updated bandwidth is greater than or equal to the target bandwidth, starting the data stream transmission between the remote control end and the target near-end device.

[0044] If the Bandwidth Sufficient condition is "Sufficient Bandwidth," the current network environment can provide the target near-end device with transmission resources that meet its needs. The system then creates a transmission service interface based on the target near-end device's target bandwidth. This service interface is a dynamic flex interface that can independently transmit the corresponding video stream data.

[0045] Specifically, when bandwidth is insufficient, the system adjusts the bandwidth of each communicating Class A non-preferred device to meet the data stream transmission needs of the target near-end device. First, the system polls each communicating Class A non-preferred device in turn. For example, in a network environment containing multiple Class A non-preferred devices, the system queries the actual transmission bandwidth currently used by each device one by one, and arranges each Class A non-preferred device in descending order of transmission bandwidth to generate a device transmission queue.

[0046] It's important to note that the device transmission queue also serves as a priority list for non-preferred devices. Devices with greater bandwidth are ranked higher, meaning they will be prioritized for bandwidth reduction in subsequent adjustments. For example, if there are three Class A non-preferred devices—Device A currently has a transmission bandwidth of 80 Mbps, Device B has a bandwidth of 60 Mbps, and Device C has a bandwidth of 40 Mbps—then the resulting device transmission queue order is A, B, and C. The system will identify the target non-preferred devices, starting at the head of the device transmission queue, and reduce their transmission bandwidth according to a specified time slot. A specified time slot is the smallest allocation unit in FlexE, and can be a time slice, meaning the system adjusts device bandwidth within that time slice. For example, if each time slot is set to 1 second, the bandwidth of the target non-preferred device will be reduced by 10 Mbps during each time slot. After each bandwidth reduction, the system will obtain the updated bandwidth for that device. The system will continue to reduce the bandwidth of each Class A non-preferred device in the device transmission queue until the updated bandwidth obtained is greater than or equal to the target bandwidth of the target near-end device.

[0047] Optionally, after transmitting the data stream based on sufficient bandwidth, the method further includes: when a stop transmission instruction is obtained from the remote control end, determining the idle bandwidth based on the stop transmission instruction; determining the target non-preferred devices from the device transmission queue in turn, and increasing the transmission bandwidth of the target non-preferred devices according to the specified time slot until the idle bandwidth is allocated.

[0048] The stop transmission command is used by the remote control end to stop data transmission with a USB local device that is currently communicating. This releases some of the previously occupied bandwidth, known as idle bandwidth. In other words, when the remote control end issues the stop transmission command, the system has an opportunity to reallocate bandwidth resources.

[0049] Specifically, receiving a stop transmission command indicates that the target bandwidth previously allocated for this transmission has been released. For example, to meet the data transmission needs of the target near-end device, the bandwidth of other non-preferred devices was adjusted, resulting in 50 Mbps of transmission bandwidth for the target near-end device. Upon receiving the stop transmission command, the 50 Mbps becomes idle bandwidth. The system then identifies the target non-preferred devices from the previously generated device transmission queue. Because bandwidth was previously insufficient, the bandwidth of each device was reduced according to designated time slots to meet the transmission needs of the target near-end device. To restore proper allocation of network resources, the bandwidth of each device in the list needs to be gradually increased. For example, the designated time slot was previously set to 1 second, with bandwidth increases of 10 Mbps each time. Starting from the head of the device transmission queue, the bandwidth of each target non-preferred device is increased by 10 Mbps each time slot. The system continues to increase bandwidth until all the idle bandwidth has been allocated. By allocating idle bandwidth, the system can effectively reallocate the released bandwidth to the device whose bandwidth was previously adjusted after the data transmission is completed, restoring the network bandwidth to its original state and ensuring normal data transmission for other devices.

[0050] Optionally, the method also includes: when the device level is a Class I premium device or a Class II device, obtaining a target service interface corresponding to the target proximal device; transmitting data streams between the remote control end and the target proximal device through the target service interface, wherein the target service interface includes an independent service interface and a public service interface, the independent service interface is dedicated to each Class I premium device, and the public service interface is shared by each Class II device.

[0051] It should be noted that the system will create corresponding clientI_high service interfaces for Class I premium devices based on the bandwidth required for service transmission through dynamic flexe interfaces, and stipulate that the "premium device" will always occupy the clientI_high premium service interface, even if the remote control end does not initiate a data request for the near-end device or the remote end actively abandons the video transmission of the device. In addition, since Class II devices are non-video devices, they do not have high requirements for the real-time performance of network data and can tolerate a certain amount of data delay (such as USB printers, USB smart refrigerators, etc.). Therefore, the system will create a common flexe service interface clientII for each Class II device, and the data streams of all "Class II devices" are transmitted through this service interface clientII.

[0052] Specifically, when the system determines that the target near-end device is a Class 1 Premium device, it will obtain its dedicated independent service interface. Class 1 Premium devices typically perform tasks requiring extremely high data transmission quality, real-time performance, and security, such as high-definition video transmission equipment used in telemedicine surgeries. Independent service interfaces ensure that data transmission is not interfered with by other devices. The system uses internal configuration files to locate the target service interface (independent service interface) corresponding to the target near-end device. After obtaining the independent service interface, data flows between the remote control and the target near-end device are transmitted over this dedicated channel. Furthermore, the independent service interface can be customized to meet the specific requirements of Class 1 Premium devices, such as higher bandwidth guarantees, stricter encryption mechanisms, and faster error recovery strategies. If the target near-end device is a Class 2 device, the system will assign it a public service interface. Class 2 devices use this public service interface to transmit data streams with the remote control. Public service interfaces utilize shared resources, meeting the basic transmission requirements of multiple Class 2 devices while achieving efficient resource utilization. The system allocates bandwidth resources to the public service interface based on the transmission requests and data volume of each Class II device using a built-in scheduling algorithm. For example, a round-robin algorithm is used, where each Class II device takes turns obtaining bandwidth access to the public service interface within a fixed time period and transmits data to the remote control terminal in turn, ensuring that all Class II devices can interact normally.

[0053] The technical solutions of the embodiments of the present invention, by clearly classifying device levels, can more accurately allocate data stream transmission resources to different types of devices, ensuring that critical devices receive priority. They can also determine target bandwidth and assess bandwidth sufficiency for a class of non-preferred devices. This allows for the development of more appropriate transmission strategies based on actual network conditions and device requirements, mitigating transmission issues caused by insufficient bandwidth and improving transmission stability and smoothness. Targeted data stream transmission based on different device levels and bandwidth availability helps reduce transmission conflicts and congestion, improving the performance and responsiveness of the entire remote USB control system.

[0054] Example 2

[0055] Figure 2 This is a flow chart of a data stream transmission method provided by the second embodiment of the present invention. This embodiment describes the specific process of determining the target proximal device and its corresponding device level based on the control instruction based on the above embodiment. Therefore, it will not be described in detail in this embodiment. Figure 2 As shown, the method includes:

[0056] S210: Obtain control instructions from the remote control terminal.

[0057] S220: Determine the target device identifier in the control instruction, and determine the target near-end device from the near-end devices according to the target device identifier.

[0058] S230: Determine a device type corresponding to the target near-end device, where the device type includes a video device and a non-video device.

[0059] S240: Determine whether the device type is a video device. If so, execute S250; otherwise, execute S280.

[0060] Specifically, the control command contains a target device identifier, which is the unique identifier of each near-end device. The system uses this identifier to quickly screen multiple near-end devices and identify the target near-end device. Device types are categorized as video devices and non-video devices.

[0061] It's well known that video devices often bear the heavy responsibility of capturing and transmitting real-time images. For example, cameras and surveillance cameras are used in security monitoring scenarios, or live broadcast cameras in distance learning. The video streams they output have extremely high requirements for timeliness and consistency, so video devices are classified as Class I devices. Non-video devices, such as ordinary USB printers and external hard drives, are primarily used for storage and printing tasks and do not involve critical video transmission tasks. Therefore, they have lower requirements for immediacy of transmission, so they are considered Class II devices.

[0062] S250: Determine whether the preferred device list contains the target device identifier. If so, execute S260; otherwise, execute S270.

[0063] Specifically, when the target proximal device is determined to be a video device, the system will further obtain a list of preferred devices, which records the information of video devices that are identified as preferred. The system will compare the identifier of the target proximal device with the list of preferred devices. If the target proximal device is in the list, it can be determined that the target proximal device is a first-class preferred device, and if the target proximal device is not in the list, it can be determined that the target proximal device is a first-class non-premium device. For example, a high-end 4K video conferencing camera is included in the list of preferred devices due to its performance and importance. When it receives a control command, it will be determined as a first-class preferred device; an ordinary standard-definition camera is not on the list and is a first-class non-premium device.

[0064] S260: Determine that the device level is a Class A premium device.

[0065] S270: Determine that the device level is a Class I non-premium device.

[0066] S280: Determine that the device level of the target proximal device is a Class II device.

[0067] Optionally, the system can set the bandwidth allocation ratio according to the specific application scenario. For example, 75% of the bandwidth can be allocated to all Class I devices and 25% of the bandwidth can be allocated to all Class II devices.

[0068] The technical solution of this embodiment of the present invention improves the accuracy of device identification and classification by determining the device level based on its actual type and its matching status in the preferred device list. This enables the system to more rationally allocate resources while ensuring the data stream transmission quality of important video devices. This avoids wasting resources on unimportant or non-critical devices, improves resource utilization efficiency, and ensures the stable operation of the entire remote USB control system.

[0069] Example 3

[0070] Figure 3 This is a structural diagram of a data stream transmission device provided by the third embodiment of the present invention. Figure 3 As shown, the apparatus includes: a device level determination module 310, configured to obtain a control instruction from a remote control terminal and determine a target proximal device and its corresponding device level based on the control instruction, wherein the device levels include a first-class premium device, a first-class non-premium device, and a second-class device;

[0071] The bandwidth sufficiency determination module 320 is configured to determine the target bandwidth corresponding to the target proximal device when the device level is a non-preferred device, and determine the bandwidth sufficiency based on the target bandwidth;

[0072] The data stream transmission module 330 is used to transmit data streams between the remote control terminal and the target near-end device according to the availability of bandwidth.

[0073] Optionally, the device level determination module 310 is specifically used to: determine the target device identifier in the control instruction, and determine the target proximal device from each proximal device based on the target device identifier; determine the device type corresponding to the target proximal device, where the device type includes video devices and non-video devices; determine whether the device type is a video device, and if so, obtain a preferred device list, and determine the device level of the target proximal device based on the preferred device list; otherwise, determine that the device level of the target proximal device is a Class II device.

[0074] Optionally, the device level determination module 310 specifically includes: a type of device determination unit, used to: determine whether the target device identifier is included in the preferential device list, if so, determine the device level as a type of preferential device; otherwise, determine the device level as a type of non-preferred device.

[0075] Optionally, the bandwidth sufficiency determination module 320 is specifically used to: determine the remaining bandwidth of the current transmission network; determine whether the target bandwidth is less than or equal to the remaining bandwidth, and if so, determine that the bandwidth sufficiency is sufficient; otherwise, determine that the bandwidth sufficiency is insufficient.

[0076] Optionally, the data stream transmission module 330 is specifically used to: when the bandwidth is sufficient, create a transmission service interface according to the target bandwidth, and perform data stream transmission between the remote control terminal and the target near-end device through the transmission service interface; when the bandwidth is sufficient, poll each of the first-class non-preferred devices that are communicating in turn to determine the transmission bandwidth; arrange each of the first-class non-preferred devices in order of transmission bandwidth from large to small to generate a device transmission queue; determine the target non-preferred device from the device transmission queue in turn, reduce the transmission bandwidth of the target non-preferred device according to the specified time slot, and obtain the corresponding updated bandwidth; until the updated bandwidth is greater than or equal to the target bandwidth, start the data stream transmission between the remote control terminal and the target near-end device.

[0077] Optionally, the device also includes: an idle bandwidth allocation module, which is used to determine the idle bandwidth based on the stop transmission instruction when a stop transmission instruction is obtained from the remote control end after data stream transmission is performed according to sufficient bandwidth; determine the target non-preferred device from the device transmission queue in turn, and increase the transmission bandwidth of the target non-preferred device according to the specified time slot until the idle bandwidth is allocated.

[0078] Optionally, the data stream transmission module 330 is also used to: when the device level is a Class I premium device or a Class II device, obtain the target service interface corresponding to the target proximal device; and transmit the data stream between the remote control end and the target proximal device through the target service interface, wherein the target service interface includes an independent service interface and a public service interface, the independent service interface is dedicated to each Class I premium device, and the public service interface is shared by each Class II device.

[0079] The technical solutions of the embodiments of the present invention, by clearly classifying device levels, can more accurately allocate data stream transmission resources to different types of devices, ensuring that critical devices receive priority. They can also determine target bandwidth and assess bandwidth sufficiency for a class of non-preferred devices. This allows for the development of more appropriate transmission strategies based on actual network conditions and device requirements, mitigating transmission issues caused by insufficient bandwidth and improving transmission stability and smoothness. Targeted data stream transmission based on different device levels and bandwidth availability helps reduce transmission conflicts and congestion, improving the performance and responsiveness of the entire remote USB control system.

[0080] A data stream transmission device provided in an embodiment of the present invention can execute a data stream transmission method provided in any embodiment of the present invention, and has functional modules and beneficial effects corresponding to the execution method.

[0081] Example 4

[0082] Figure 4 A schematic diagram of an electronic device 10 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices (such as helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or claimed herein.

[0083] like Figure 4 As shown, electronic device 10 includes at least one processor 11 and memory, such as read-only memory (ROM) 12 and random access memory (RAM) 13, communicatively connected to at least one processor 11. The memory stores computer programs executable by the at least one processor. Processor 11 can perform various appropriate actions and processes based on the computer programs stored in ROM 12 or loaded from storage unit 18 into RAM 13. RAM 13 can also store various programs and data required for the operation of electronic device 10. Processor 11, ROM 12, and RAM 13 are interconnected via bus 14. An input / output (I / O) interface 15 is also connected to bus 14.

[0084] Multiple components in the electronic device 10 are connected to the I / O interface 15, including an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a magnetic disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0085] Processor 11 can be any general-purpose and / or specialized processing component with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any other suitable processor, controller, microcontroller, etc. Processor 11 executes the various methods and processes described above, such as a data stream transmission method.

[0086] In some embodiments, a data stream transmission method can be implemented as a computer program tangibly embodied in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the data stream transmission method described above can be performed. Alternatively, in other embodiments, processor 11 can be configured to perform a data stream transmission method in any other suitable manner (e.g., via firmware).

[0087] Various embodiments of the systems and techniques described above can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0088] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the computer program is executed by the processor, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The computer program may be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0089] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, device, or apparatus. A computer-readable storage medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or apparatus, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media may include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0090] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device that has: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0091] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0092] A computing system may include clients and servers. The clients and servers are typically remote from each other and typically interact via a communication network. This client-server relationship arises through computer programs running on the respective computers, creating a client-server relationship. The server may be a cloud server, also known as a cloud computing server or cloud host. This server is a hosting product within the cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosting and VPS services.

[0093] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in the present invention can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved. This is not limited herein.

[0094] The above specific embodiments do not limit the scope of protection of the present invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention are intended to be included within the scope of protection of the present invention.

Claims

1. A data stream transmission method, characterized in that: Applied to a remote USB control system, including a remote control terminal and various local devices, the method includes: Obtaining a control instruction from a remote control terminal, and determining a target proximal device and its corresponding device class based on the control instruction, wherein the device class includes a Class I premium device, a Class I non-premium device, and a Class II device; When the device level is a non-preferred device, determining a target bandwidth corresponding to the target proximal device; The determining of the target proximal device and its corresponding device level based on the control instruction includes: determining a target device identifier in the control instruction, and determining a target near-end device from each of the near-end devices according to the target device identifier; The method includes: when the bandwidth sufficiency condition indicates insufficient bandwidth, sequentially polling the currently actually used transmission bandwidth of each of the non-preferred devices in the communicating class; arranging the non-preferred devices in descending order of transmission bandwidth to generate a device transmission queue; sequentially determining the target non-preferred device from the device transmission queue, reducing the transmission bandwidth of the target non-preferred device according to a specified time slot, and obtaining a corresponding updated bandwidth after each bandwidth reduction, wherein the specified time slot is the smallest allocation unit in flexe; and starting the data stream transmission between the remote control terminal and the target near-end device until the updated bandwidth is greater than or equal to the target bandwidth. Wherein, the method further includes: When the device level is a Class I premium device or a Class II device, obtaining a target service interface corresponding to the target proximal device; Data stream transmission between the remote control terminal and the target near-end device is performed via the target service interface, wherein the target service interface includes an independent service interface and a public service interface, the independent service interface is dedicated to each Class I premium device, and the public service interface is shared by each Class II device; The method further comprises: Based on the transmission requests and data volume of each Class II device, a built-in scheduling algorithm is used to allocate bandwidth resources of the public service interface. The scheduling algorithm is a polling algorithm. Each Class II device takes turns to obtain the bandwidth usage rights of the public service interface within a fixed time period and transmits data to the remote control end in turn.

2. The method according to claim 1, characterized in that Determine the device level of the target proximal device based on the preferred device list, including: Determining whether the target device identifier is included in the preferential device list, and if so, determining that the device level is a Class A preferential device; Otherwise, the device level is determined to be a non-premium device.

3. The method according to claim 1, characterized in that The determining of bandwidth sufficiency according to the target bandwidth includes: Determine the remaining bandwidth of the current transmission network; Determining whether the target bandwidth is less than or equal to the remaining bandwidth, and if so, determining that the bandwidth is sufficient; Otherwise, it is determined that the bandwidth is sufficient or the bandwidth is insufficient.

4. The method according to claim 3, characterized in that The data stream transmission between the remote control terminal and the target near-end device according to the sufficient bandwidth includes: When the bandwidth sufficiency condition is that the bandwidth is sufficient, a transmission service interface is created according to the target bandwidth, and data stream transmission between the remote control terminal and the target near-end device is performed through the transmission service interface.

5. The method according to claim 4, characterized in that After transmitting the data stream according to the bandwidth sufficiency condition, the method further includes: When a transmission stop instruction is received from the remote control terminal, determining an idle bandwidth based on the transmission stop instruction; Target non-preferred devices are sequentially determined from the device transmission queue, and the transmission bandwidth of the target non-preferred devices is increased according to the specified time slots until the idle bandwidth is fully allocated.

6. A data stream transmission device, characterized in that: include: a device level determination module, configured to obtain a control instruction from a remote control terminal and determine a target proximal device and its corresponding device level based on the control instruction, wherein the device levels include Class I premium devices, Class I non-premium devices, and Class II devices; The bandwidth sufficiency determination module is used to determine the target bandwidth corresponding to the target near-end device when the device level is a non-preferred device. The device level determination module is specifically configured to: determine a target device identifier in the control instruction, and determine a target proximal device from each of the proximal devices according to the target device identifier; The data stream transmission module is configured to: when the bandwidth sufficiency condition indicates that the bandwidth is insufficient, sequentially poll the transmission bandwidth currently actually used by each of the non-preferred devices in the communicating class; arrange the non-preferred devices in descending order of transmission bandwidth to generate a device transmission queue; sequentially determine a target non-preferred device from the device transmission queue, reduce the transmission bandwidth of the target non-preferred device according to a specified time slot, and obtain a corresponding updated bandwidth after each bandwidth reduction, wherein the specified time slot is the smallest allocation unit in Flexe; and initiate data stream transmission between the remote control terminal and the target near-end device until the updated bandwidth is greater than or equal to the target bandwidth; The data stream transmission module is further configured to: when the device level is a Class I premium device or a Class II device, locate the target service interface corresponding to the target proximal device through an internal configuration file; and transmit the data stream between the remote control terminal and the target proximal device through the target service interface, wherein the target service interface includes an independent service interface and a public service interface, wherein the independent service interface is dedicated to each Class I premium device and the public service interface is shared by each Class II device; Among them, the data stream transmission module is also used to: allocate the bandwidth resources of the public service interface using the built-in scheduling algorithm according to the transmission request and data size of each Class II device, wherein the scheduling algorithm is a polling algorithm, and each Class II device takes turns to obtain the bandwidth usage rights of the public service interface within a fixed time period and transmits the data to the remote control terminal in turn.

7. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively coupled to the at least one processor; The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 5.

8. A computer storage medium, characterized in that The computer storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the method according to any one of claims 1 to 5 when executed.

Citation Information

Patent Citations

  • Data transmission method, out-of-band controller and electronic equipment

    CN115905066A

  • USB redirection system and method for realizing network sharing of USB equipment

    CN117555829A