Data stream transmission method and device, equipment and storage medium
By dividing device levels in a remote USB control system and performing targeted data streaming transmission according to bandwidth conditions, the problem of lack of targeted data streaming transmission methods in the prior art is solved, and more stable and smooth data streaming transmission is achieved, improving system performance and response speed.
Patent Information
- Application Number
- CN202510252323.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-05
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2045-03-05
AI Technical Summary
In the existing remote USB control system, the data streaming transmission method has the problem that the device level division is not fine and reasonable enough, resulting in a lack of targeted resource allocation and transmission strategies, and it is impossible to effectively deal with complex multi-device environments and dynamically changing network conditions, resulting in lag, delay and even interruption of data streaming transmission.
By clearly distinguishing the equipment levels, including Class I preferential equipment, Class I non-exclusive equipment and Class II equipment, targeted data streaming is carried out according to the equipment level and bandwidth conditions. The specific method includes obtaining control instructions from the remote control end, determining the target near-end device and its equipment level, evaluating the sufficient bandwidth, and streaming data based on the evaluation results.
Through precise device-level division and bandwidth management, we ensure that key devices are given priority protection, reduce transmission problems caused by insufficient bandwidth, improve transmission stability and smoothness, reduce transmission conflicts and congestion, and improve the performance and response speed of the entire remote USB control system.
Smart Images

Figure CN119766743A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data transmission, and in particular to a data stream transmission method, device, equipment and storage medium. Background Art
[0002] In the current 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 transmission of data streams is crucial.
[0003] However, there are many problems with the existing data stream transmission methods in remote USB control systems. The division of device levels is not detailed and reasonable enough, resulting in a lack of pertinence in resource allocation and transmission strategy formulation. In addition, traditional transmission methods often show insufficient adaptability when dealing with complex multi-device environments and dynamically changing network conditions, and are prone to data stream transmission jams, delays, or even interruptions, which seriously affects 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 will be no interference in the data reception and transmission between devices, which 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 proximal device, and the method includes:
[0006] Obtaining a control instruction from a remote control terminal, and determining 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;
[0007] When the device level is a non-preferred device, determine the target bandwidth corresponding to the target near-end device, and determine the bandwidth sufficiency based on the target bandwidth;
[0008] Data stream transmission between the remote control end and the target near-end device is performed based on sufficient bandwidth.
[0009] Optionally, determining the target proximal device and its corresponding device level based on the control instruction includes: determining the target device identifier in the control instruction, and determining the target proximal device from each proximal device according to 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 according to the preferred device list; otherwise, determining that the device level of the target proximal device is a Class II device.
[0010] Optionally, determining the device level of the target proximal device according to the preferred device list includes: determining whether the target device identifier is included in the preferred device list, and if so, determining the device level as a first-class preferred device; otherwise, determining the device level as a first-class non-preferred device.
[0011] Optionally, determining the bandwidth sufficiency situation 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 situation is sufficient; otherwise, determining that the bandwidth sufficiency situation 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 update 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 according to the bandwidth sufficiency situation, 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, there is provided a data stream transmission device, the device comprising:
[0016] A device level determination module, used 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 level includes a first-class premium device, a first-class non-premium device, and a second-class device;
[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 of non-preferred devices, and 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 end and the target near-end device according to the sufficient bandwidth.
[0019] According to another aspect of the present invention, an electronic device is provided, the electronic device 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 described in any embodiment of the present invention when executed.
[0024] The technical solution of the embodiment of the present invention can more accurately allocate data stream transmission resources for different types of devices by clearly dividing the device levels, ensuring that key devices are given priority, determining the target bandwidth and evaluating the bandwidth sufficiency for a class of non-preferred devices, and formulating more appropriate transmission strategies based on actual network conditions and device requirements, reducing transmission problems caused by insufficient bandwidth, and improving the stability and smoothness of transmission. Targeted data stream transmission based on different device levels and bandwidth conditions helps reduce transmission conflicts and congestion, and improves the performance and response speed of the entire remote USB control system.
[0025] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily 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 is a flowchart of a data stream transmission method provided according to Embodiment 1 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 is a structural schematic diagram of a data stream transmission device provided according to Embodiment 3 of the present invention;
[0030] Figure 4 It is a structural schematic 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 scheme of the present invention, the technical scheme 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 described embodiments 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 creative work should fall within the scope of protection of the present invention.
[0032] It should be noted that the terms "first", "second", etc. in the specification 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 data 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 that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0033] Embodiment 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 proximal 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, obtaining a control instruction from the remote control terminal, and determining 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] Among them, the remote USB control system refers to a system in which users can control near-end connected USB devices at a remote end, including a remote control terminal and various near-end devices. The remote control terminal can issue instructions to near-end devices and obtain feedback just like local operations, breaking through distance limitations and realizing remote device management, which is common in remote office and remote monitoring scenarios. Among them, the remote control terminal is a device or software platform at a remote location for users to issue various operation instructions, which can be a computer, mobile phone APP, etc. Near-end devices are devices located at the local end and close to the actual business scene. Near-end devices are connected to the system through a USB interface, receive instructions from the remote control terminal, and perform corresponding actions, such as cameras and printers. Control instructions refer to instruction information issued by the remote control terminal that carries the user's operation intention and tells the near-end device what specific operation to perform, such as starting video recording, adjusting the camera angle, etc. The target near-end device refers to the specific device selected according to the control instruction among many near-end devices and about to perform the corresponding operation. The device level is used to distinguish the differences between different proximal devices in terms of data transmission requirements, importance, etc. The levels of proximal devices include Class I premium devices, Class I non-premium devices, and Class II devices.
[0037] Specifically, the first-class premium devices are proximal devices that enjoy priority and high-quality resource allocation in data transmission. They usually have extremely high requirements for the real-time, stability and bandwidth of data transmission, and their data transmission efficiency and reliability must be guaranteed. The first-class non-premium devices have a lower data transmission priority than the first-class premium devices. Although they also have certain transmission requirements, their importance and real-time requirements are relatively low. The second-class devices are proximal devices with relatively low requirements for real-time and bandwidth of data transmission, and they have a relatively low priority in system resource allocation.
[0038] S120: When the device level is a type of 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 value required for the target near-end device to stably and smoothly complete the transmission task. The bandwidth sufficiency refers to the judgment result of whether the available bandwidth in the current network environment can meet the needs of the target near-end device, including sufficient bandwidth and insufficient bandwidth.
[0040] Optionally, determining the bandwidth sufficiency situation 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 situation is sufficient; otherwise, determining that the bandwidth sufficiency situation 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, the bandwidth sufficiency is determined to be insufficient.
[0042] S130: Transmit data streams between the remote control terminal and the target near-end device according to the availability of 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 update 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] When the bandwidth is sufficient, it indicates that the current network environment can provide the target near-end device with transmission resources that meet its needs. At this time, the system will create a transmission service interface based on the target bandwidth of the target near-end device. The service interface refers to a dynamic flexe interface that can independently transmit the corresponding video stream data.
[0045] Specifically, when the bandwidth is sufficient or insufficient, in order to meet the data stream transmission needs of the target near-end device, the system will adjust the bandwidth of each Class I non-preferred device that is communicating. First, the system will poll each Class I non-preferred device that is communicating in turn. For example, in a network environment containing multiple Class I non-preferred devices, the system will query the actual transmission bandwidth currently used by each device one by one, and arrange each Class I non-preferred device in order of transmission bandwidth from large to small to generate a device transmission queue.
[0046] It should be noted that the device transmission queue is also a priority list of non-preferred devices. Devices with larger bandwidths are ranked higher, which means that their bandwidth reduction will be given priority in subsequent adjustments. For example, if there are three non-preferred devices of class I, device A currently has a transmission bandwidth of 80Mbps, device B has a transmission bandwidth of 60Mbps, and device C has a transmission bandwidth of 40Mbps, then the order of the generated device transmission queues is A, B, and C. The system will start from the head of the device transmission queue, determine the target non-preferred devices in turn, and reduce their transmission bandwidth according to the specified time slot. The specified time slot is the smallest allocation unit in flexe, and the specified time slot can be a time segment, that is, the system will adjust the device bandwidth within the time segment. For example, set each time slot to 1 second, and reduce the bandwidth of the target non-preferred device by 10Mbps in each time slot. After each bandwidth reduction, the system will obtain the updated bandwidth corresponding to the device. The system will continue to reduce the bandwidth of each non-preferred device of class I 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 according to the bandwidth sufficiency situation, 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 the data transmission of a USB near-end device that is communicating. At this time, a part of the originally occupied bandwidth will be released, that is, the idle bandwidth. That is, when the remote control end issues the stop transmission command, the system has an opportunity to reallocate bandwidth resources.
[0049] Specifically, when a stop transmission instruction is received, it indicates that the target bandwidth previously allocated for this transmission is released. For example, in order to meet the data transmission of the target near-end device, the bandwidth of other non-preferred devices was adjusted so that the target near-end device obtained a transmission bandwidth of 50Mbps. At this time, when the stop transmission instruction is received, 50Mbps becomes the idle bandwidth. The system will determine the target non-preferred devices from the previously generated device transmission queue in turn. Because the bandwidth was insufficient before, the bandwidth of each device was reduced according to the specified time slot to meet the transmission needs of the target near-end device. Now in order to restore the reasonable allocation of network resources, it is necessary to gradually increase the bandwidth of each device in the list. For example, the specified time slot previously set is 1 second, and the bandwidth is increased by 10Mbps each time. Starting from the head of the device transmission queue, each time for a target non-preferred device, its bandwidth is increased by 10Mbps in each time slot. The system will continue to increase the bandwidth until all the determined idle bandwidth is 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, and restore the initial allocation state of the network bandwidth to ensure the normal data transmission of other devices in the future.
[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 through dynamic flexe interfaces according to the bandwidth required for transmission services, and stipulate that the "premium device" always occupies 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 certain data delays (such as USB printers, USB smart refrigerators, etc.), so 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 device level of the target proximal device is a Class I premium device, it will obtain its dedicated independent service interface. Class I premium devices usually undertake tasks that require extremely high data transmission quality, real-time and security, such as high-definition video transmission equipment in telemedicine surgery. Independent service interfaces can ensure that they are not interfered with by other devices during data transmission. The system can locate the target service interface (independent service interface) corresponding to the target proximal device through the internal configuration file. After obtaining the independent service interface, the data stream between the remote control end and the target proximal device is transmitted through the exclusive channel. In addition, the independent service interface can be customized according to the special needs of Class I premium devices, such as higher bandwidth guarantee, stricter encryption mechanism and faster error recovery strategy. When the device level of the target proximal device is a Class II device, the system will allocate a public service interface to it. Class II devices transmit data streams with the remote control end through the obtained public service interface. The public service interface adopts a shared resource method to achieve efficient resource utilization while meeting the basic transmission requirements of multiple Class II devices. The system will use the built-in scheduling algorithm to allocate the bandwidth resources of the public service interface according to the transmission request and data volume of each Class II device. For example, using the polling algorithm, each Class II device will take turns to obtain the bandwidth usage right of the public service interface within a fixed time period, and transmit the data to the remote control end in turn, so as to ensure that each Class II device can interact with data normally.
[0053] The technical solution of the embodiment of the present invention can more accurately allocate data stream transmission resources for different types of devices by clearly dividing the device levels, ensuring that key devices are given priority, determining the target bandwidth and evaluating the bandwidth sufficiency for a class of non-preferred devices, and formulating more appropriate transmission strategies based on actual network conditions and device requirements, reducing transmission problems caused by insufficient bandwidth, and improving the stability and smoothness of transmission. Targeted data stream transmission based on different device levels and bandwidth conditions helps reduce transmission conflicts and congestion, and improves the performance and response speed of the entire remote USB control system.
[0054] Embodiment 2
[0055] Figure 2 This is a flow chart of a data stream transmission method provided in 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-mentioned first 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 a target device identifier in the control instruction, and determine a target proximal device from each proximal device 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 instruction contains a target device identifier, which refers to the unique identity of each proximal device. The system can quickly screen among many proximal devices based on the target device identifier to determine the corresponding target proximal device. Device types are divided into two categories: video devices and non-video devices.
[0061] It is known that video devices often bear the heavy responsibility of real-time image capture and transmission, such as cameras and surveillance probes used in security monitoring scenarios, or live cameras in distance learning. The video streams they output have extremely high requirements for timeliness and continuity, so video devices will be identified as Class I devices. Non-video devices, such as ordinary USB printers and mobile hard drives, are mainly used for storage and printing tasks, and do not involve critical video transmission tasks. They have lower requirements for the immediacy of transmission, so non-video devices will be 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 first-class premium device.
[0065] S270: Determine that the device level is a first-class 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 the embodiment of the present invention improves the accuracy of device identification and classification by determining the device level according to the actual type of the device and the matching status in the preferred device list, so that the system can allocate resources more reasonably while ensuring the data stream transmission quality of important video devices. It 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] Embodiment 3
[0070] Figure 3 This is a schematic diagram of the structure of a data stream transmission device provided in Embodiment 3 of the present invention. Figure 3 As shown, the apparatus includes: a device level determination module 310, which is used 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 level includes a first-class preferred device, a first-class non-preferred device, and a second-class device;
[0071] The bandwidth sufficiency determination module 320 is used to determine the target bandwidth corresponding to the target near-end device when the device level is a class of non-preferred devices, and determine the bandwidth sufficiency according to the target bandwidth;
[0072] The data stream transmission module 330 is used to perform data stream transmission between the remote control terminal and the target near-end device according to the bandwidth sufficiency.
[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 preferred device list, if so, determine the device level as a type of preferred 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 from large to small according to the transmission bandwidth 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 update bandwidth; until the update 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 devices from the device transmission queue in turn, and increase the transmission bandwidth of the target non-preferred devices 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; perform data stream transmission 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 solution of the embodiment of the present invention can more accurately allocate data stream transmission resources for different types of devices by clearly dividing the device levels, ensuring that key devices are given priority, determining the target bandwidth and evaluating the bandwidth sufficiency for a class of non-preferred devices, and formulating more appropriate transmission strategies based on actual network conditions and device requirements, reducing transmission problems caused by insufficient bandwidth, and improving the stability and smoothness of transmission. Targeted data stream transmission based on different device levels and bandwidth conditions helps reduce transmission conflicts and congestion, and improves the performance and response speed 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] Embodiment 4
[0082] Figure 4 A schematic diagram of the structure 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, smart phones, 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 required herein.
[0083] like Figure 4 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. The input / output (I / O) interface 15 is also connected to the bus 14.
[0084] A number of 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 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 through a computer network such as the Internet and / or various telecommunication networks.
[0085] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 performs the various methods and processes described above, such as a data stream transmission method.
[0086] In some embodiments, a data stream transmission method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of a data stream transmission method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform a data stream transmission method in any other appropriate manner (e.g., by means of firmware).
[0087] Various implementations of the systems and techniques described above herein 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), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including 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, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, 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 equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, 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 may be implemented on an electronic device having: 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 a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).
[0091] The systems and techniques described herein may be implemented in a computing system that includes backend 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 frontend components (e.g., a user computer with a graphical user interface or a 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 backend components, middleware components, or frontend components. The components of the system may 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 a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.
[0093] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.
[0094] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope 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 proximal devices, the method includes: Obtaining a control instruction from a remote control terminal, and determining 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; When the device level is a type of non-preferred device, determining a target bandwidth corresponding to the target proximal device, and determining bandwidth sufficiency based on the target bandwidth; Data stream transmission is performed between the remote control terminal and the target near-end device according to the bandwidth sufficiency situation.
2. The method according to claim 1, characterized in that The determining the target proximal device and its corresponding device level based on the control instruction includes: 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; Determine a device type corresponding to the target proximal device, wherein the device type includes a video device and a non-video device; Determine whether the device type is a video device, and if so, obtain a preferred device list, and determine a device level of the target proximal device according to the preferred device list; Otherwise, it is determined that the device level of the target proximal device is a Class II device.
3. The method according to claim 2, characterized in that Determining the device level of the target proximal device according to the preferred device list includes: Determine whether the target device identifier is included in the preferential device list, and if so, determine that the device level is a first-class preferential device; Otherwise, the device level is determined to be a type of non-premium device.
4. 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; Determine whether the target bandwidth is less than or equal to the remaining bandwidth, and if so, determine that the bandwidth is sufficient; Otherwise, it is determined that the bandwidth is sufficient or the bandwidth is insufficient.
5. The method according to claim 4, 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, creating a transmission service interface according to the target bandwidth, and performing data stream transmission between the remote control terminal and the target near-end device through the transmission service interface; When the bandwidth sufficiency condition is that the bandwidth is insufficient, each of the non-preferred devices of the type in communication is polled in turn to determine the transmission bandwidth; Arrange the non-preferred devices of the first category in descending order of transmission bandwidth to generate a device transmission queue; sequentially determine target non-preferred devices from the device transmission queue, reduce the transmission bandwidth of the target non-preferred devices according to the specified time slot, and obtain corresponding update bandwidth; When the update bandwidth is greater than or equal to the target bandwidth, data stream transmission between the remote control terminal and the target near-end device is started.
6. The method according to claim 5, characterized in that After transmitting the data stream according to the bandwidth sufficiency condition, the method further includes: When a transmission stop instruction is obtained from the remote control terminal, determining the idle bandwidth based on the transmission stop instruction; The target non-preferred devices are determined from the device transmission queue in sequence, and the transmission bandwidth of the target non-preferred devices is increased according to the specified time slot until the idle bandwidth is fully allocated.
7. The method according to claim 1, characterized in that The method further comprises: When the device level is a first-class premium device or a second-class device, obtaining a target service interface corresponding to the target proximal device; The data stream transmission between the remote control end and the target near-end device is performed 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.
8. A data stream transmission device, characterized in that: include: A device level determination module, used 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 level includes a first-class premium device, a first-class non-premium device, and a second-class device; A bandwidth sufficiency determination module, used to determine a target bandwidth corresponding to the target proximal device when the device level is a type of non-preferred device, and determine bandwidth sufficiency based on the target bandwidth; The data stream transmission module is used to perform data stream transmission between the remote control terminal and the target near-end device according to the bandwidth sufficiency situation.
9. 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 so that the at least one processor can execute the method according to any one of claims 1 to 7.
10. 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 7 when executed.
Citation Information
Patent Citations
Business control method and system, control equipment and storage medium
CN110839249A
Resource scheduling method, device and equipment and computer readable storage medium
CN112905342A
Data transmission method and related device
CN114257820A
Data transmission method, out-of-band controller and electronic equipment
CN115905066A
USB redirection system and method for realizing network sharing of USB equipment
CN117555829A
Cited By
Data transmission system and method based on USB interface
CN121187515A
A data transmission system and method based on a USB interface
CN121187515B
Intelligent loading method of program under USB interface for remotely supporting multiple devices
CN122526588A
A method and system for intelligent loading of programs that can be remotely supported by multiple devices
CN122526658A