Multi-source equipment state visual monitoring method of docking station and related device
By calculating the uplink data bus traffic metrics of the expansion dock and dynamically adjusting the sampling frequency, the problem of bandwidth resource contention under high load was solved. This enabled the stability of core user business performance and fine-grained monitoring of device status information under high load scenarios, improving the adaptability and accuracy of the expansion dock's visual monitoring.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENZHEN SINOBRY ELECTRONICS LTD
- Filing Date
- 2026-01-23
- Publication Date
- 2026-05-12
AI Technical Summary
Under high load, existing docking stations cause the monitoring system and the main data transmission to compete for bandwidth resources, resulting in a decrease in data transmission performance and affecting the user experience.
By acquiring the raw data flow of the uplink data bus, calculating the average flow value and flow change rate sequence, judging the performance-sensitive state based on I/O pressure indicators, dynamically adjusting the state data sampling frequency, and prioritizing data transmission performance.
It effectively avoids resource competition between monitoring data streams and users' main business data streams, ensuring the stability of users' core business performance under high load scenarios, while providing detailed and real-time device status information, improving the adaptability and accuracy of docking station visualization monitoring.
Smart Images

Figure CN122019300A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of visual monitoring technology, specifically to a method and related apparatus for visual monitoring of the status of multi-source devices in a docking station. Background Technology
[0002] With the increasing demands for data transmission rates and system responsiveness from multimedia data processing, high-definition video transmission, and high-speed storage access, docking stations, as crucial bridges connecting host devices (such as laptops) and multiple external devices (such as monitors, keyboards, and storage devices), are increasingly playing a key role in the aggregation and distribution of multi-source data. Modern docking stations typically connect to host devices via a single uplink data bus (such as USB-C or Thunderbolt), and this data bus must carry all communication data between the host and all peripherals, becoming a potential source of system performance bottlenecks.
[0003] In existing technologies, some docking station systems have status monitoring capabilities, enabling them to collect status data on the host device or some external devices, such as displaying connection status and storage device read / write speeds. These systems typically use a fixed sampling frequency to periodically collect device status data and display it through the docking station's built-in display screen or the host software interface.
[0004] However, the docking station's own status monitoring activities, including its issued query commands and received status data, all consume uplink data bus resources and microcontroller processing power. While this overhead has minimal impact when the bus is idle, under high load scenarios, it directly competes with the user's main data traffic for bandwidth and processing resources. This competition can lead to unexpected performance fluctuations in major data transmission tasks, such as a sudden drop in data copy speed, video delays or tearing, thus substantially negatively impacting the core user experience and reducing the adaptability of the docking station's visual monitoring. Summary of the Invention
[0005] This application provides a method and related apparatus for visual monitoring of the status of multi-source devices in a docking station, which solves the technical problem that existing docking station monitoring systems compete for bandwidth resources with the main data transmission under high load conditions, resulting in a decrease in data transmission performance, and improves the adaptability of docking station visual monitoring.
[0006] The first aspect of this application provides a method for visually monitoring the status of multi-source devices in a docking station, the method comprising: Acquire the raw data traffic on the uplink data bus between the target dock and the host device, wherein the uplink data bus is the backbone data channel that carries communication between the host device and all external devices connected to the target dock; Within a preset sliding time window, calculate the average flow rate and flow rate change sequence of the original data flow; The I / O pressure index of the uplink data bus is calculated based on the average flow rate and the flow rate change sequence. The I / O pressure index is used to characterize the instantaneous load state of the uplink data bus. Based on the I / O stress index, it is determined whether the expansion dock is in a performance-sensitive state. The performance-sensitive state is used to characterize the system state in which the uplink data bus needs to prioritize data transmission performance. When it is determined that the expansion dock is not in the performance-sensitive state, the first state data of the host device and the second state data of the external device are obtained through a first preset sampling frequency. When it is determined that the expansion dock is in the performance-sensitive state, the first state data of the host device and the second state data of the external device are obtained through a second preset sampling frequency, wherein the first preset sampling frequency is higher than the second preset sampling frequency. Based on the first status data and the second status data, a visual command is generated to show the operating status of the host device and the external device. The display screen of the docking station is controlled to present a visual representation according to the visualization instructions.
[0007] Optionally, within a preset sliding time window, the average flow rate and flow rate change sequence of the original data flow are calculated, specifically including: Within the preset sliding time window, the median of the original data traffic is calculated, and the median is determined as the traffic baseline value; When the traffic baseline value is greater than the preset high load threshold, multiple data points in the original data traffic within the preset sliding time window that are greater than the dynamic burst threshold are identified as burst traffic components. The dynamic burst threshold is the product of the traffic baseline value and the preset burst identification factor. Multiple data points in the original data traffic within the preset sliding time window that are other than the burst traffic components are identified as background traffic components. The average flow value is calculated based on the background flow component, and the flow change rate sequence is generated based on the burst flow component.
[0008] Optionally, the average flow value is calculated based on the background flow component, and the flow change rate sequence is generated based on the burst flow component, specifically including: Calculate the arithmetic mean of the flow rates of multiple data points in the background flow component, and determine the arithmetic mean of the flow rates as the average flow rate value; According to the preset window division rules, the preset sliding time window is divided into multiple target time windows, and the time length of each target time window is equal. For each data point in the burst flow component, calculate the instantaneous amplitude of each data point relative to the flow baseline value within each target time window; Calculate the burst flow sub-total amplitude for each target time window, where the burst flow sub-total amplitude is the sum of all instantaneous amplitudes within the target time window, and one target window corresponds to one burst flow sub-total amplitude. Calculate the ratio of the total amplitude of the burst flow sub-value to the duration of the target time window for each target time window to obtain multiple flow change rates, and combine the multiple flow change rates in chronological order to form a flow change rate sequence.
[0009] Optionally, the I / O pressure index of the uplink data bus is calculated based on the average flow rate and the flow rate change sequence, specifically including: The load intensity coefficient is obtained by calculating the ratio of the average flow rate to the preset reference flow rate. When the load intensity coefficient is greater than the preset load threshold, the duration of the first time window is calculated based on the load intensity coefficient, and the duration is inversely proportional to the load intensity coefficient. In the flow rate change rate sequence, the multiple flow rates corresponding to the first time window are determined as the first flow rate change rate subsequence; The maximum value of the flow change rate in the first flow change rate subsequence is determined as the target flow change rate; In the flow rate change rate sequence, the multiple flow rates corresponding to the second time window are determined as the second flow rate change rate subsequence, and the duration of the second time window is a preset fixed duration; When the load intensity coefficient is less than or equal to the preset load threshold, the maximum value of the flow change rate in the second flow change rate subsequence is determined as the target flow change rate; The load intensity coefficient is dynamically adjusted based on the target flow rate change to obtain the I / O pressure index.
[0010] Optionally, the load intensity coefficient is dynamically adjusted based on the target flow rate change to obtain the I / O pressure index, specifically including: When the target flow rate change rate is greater than the preset burst threshold, the product of the load intensity coefficient and the preset amplification factor is determined as the I / O pressure index; When the target flow rate change rate is less than or equal to the preset burst threshold, the product of the load intensity coefficient and the preset attenuation factor is determined as the I / O pressure index.
[0011] Optionally, determining whether the docking station is in a performance-sensitive state based on the I / O stress indicators specifically includes: Within a preset judgment time period, when the I / O pressure index jumps from below the preset lower pressure threshold to above the preset upper pressure threshold, or when the I / O pressure index falls from above the preset upper pressure threshold back to below the preset lower pressure threshold, it is recorded as a valid fluctuation. The number of valid fluctuations is accumulated to determine the number of fluctuations; When the number of fluctuations exceeds a preset fluctuation threshold, the cumulative duration during which the I / O pressure index is higher than the preset pressure upper limit threshold is calculated within the preset determination time period. If the cumulative duration exceeds a preset duration threshold, the docking station is determined to be in the performance-sensitive state. If the cumulative duration is less than or equal to the preset duration threshold, then it is determined that the docking station is not in the performance-sensitive state. When the number of fluctuations is less than or equal to the preset fluctuation threshold, the I / O pressure index at the end of the preset judgment time period is determined as the current I / O pressure index. If the current I / O pressure index is greater than the preset pressure upper limit threshold, then the docking station is determined to be in the performance-sensitive state. If the current I / O pressure index is less than or equal to the preset pressure upper limit threshold, then it is determined that the docking station is not in the performance-sensitive state.
[0012] Optionally, based on the first state data and the second state data, a visualization command for the operating status of the host device and the external device is generated, specifically including: Anomaly detection is performed on the first state data and the second state data to obtain an abnormal state data set; Obtain the anomaly level of each state data item in the abnormal state data set, and prioritize each state data item based on the anomaly level. According to the preset display rules, the state data with the highest abnormality level in the abnormal state data set is determined as the main display content, and the state data in the abnormal state data set other than the main display content is determined as the secondary display content. Analyze the frequency of change of secondary display content. When the frequency of change is greater than a preset frequency threshold, switch the display mode of the secondary display content to a simplified display mode. The simplified display mode only displays the status type and the abnormality level. When the change frequency is less than or equal to the preset frequency threshold, the display mode of the secondary display content is switched to the full display mode, and the full display mode displays detailed information about the status. Generate a first display instruction for the primary display content, and generate a second display instruction for the secondary display content; The first display instruction and the second display instruction are combined into the visualization instruction.
[0013] Secondly, embodiments of this application provide a multi-source device status visualization monitoring system for a docking station. The multi-source device status visualization monitoring system for the docking station includes: one or more processors and a memory; the memory is coupled to the one or more processors, and the memory is used to store computer program code, the computer program code including computer instructions, and the one or more processors call the computer instructions to cause the multi-source device status visualization monitoring system for the docking station to perform the method described in the first aspect and any possible implementation thereof.
[0014] Thirdly, embodiments of this application provide a computer-readable storage medium including instructions that, when executed on a multi-source device status visualization monitoring system of an expansion dock, cause the multi-source device status visualization monitoring system of the expansion dock to perform the method described in the first aspect and any possible implementation thereof.
[0015] Fourthly, embodiments of this application provide a computer program product containing instructions that, when the computer program product is run on a multi-source device status visualization monitoring system of an expansion dock, causes the multi-source device status visualization monitoring system of the expansion dock to execute the method described in the first aspect and any possible implementation thereof.
[0016] In summary, one or more technical solutions provided in this application have at least the following technical effects or advantages: 1. When the docking station performs high-load tasks such as large file copying and high-definition video transmission, causing increased I / O pressure and entering a performance-sensitive state, the system can proactively switch the sampling frequency of status data from a first preset sampling frequency to a second preset sampling frequency. This adaptive adjustment directly reduces the monitoring system's own occupation of uplink data bus bandwidth and processing resources under high load, effectively avoiding resource competition between monitoring data streams and users' main business data streams. This effectively solves the technical problem in existing technologies where the use of a fixed sampling frequency causes unexpected fluctuations in the performance of main data transmission tasks (such as a drop in data copy speed and video delay). While ensuring the stability and smoothness of users' core business performance under high-load scenarios, it can also provide detailed and real-time device status information at a higher first preset sampling frequency when the bus load is low. This achieves a dynamic balance between ensuring core performance and providing effective monitoring, improving the adaptability of the docking station's visual monitoring.
[0017] 2. By using the median, which is insensitive to outliers, as the traffic baseline, a more stable and reliable reference standard is provided for subsequent traffic analysis. Secondly, by decomposing the traffic into a background traffic component representing continuous load and a burst traffic component representing instantaneous surges, and processing them separately, the calculated average traffic value can more purely reflect the system's basic load level, while the traffic change rate sequence can more accurately quantify the load volatility and surge intensity. This refined traffic analysis process effectively solves the technical problem in existing technologies where simply using a single indicator such as the average value cannot accurately distinguish between different load modes such as "continuous high load" and "low load accompanied by high bursts," leading to inaccurate bus stress assessment. It provides richer and more precise input data for subsequent calculation of I / O stress indicators, significantly improving the accuracy and reliability of uplink data bus load status assessment. This lays a solid foundation for more accurately determining performance-sensitive states, making the triggering of the entire adaptive monitoring strategy more precise and the response more appropriate.
[0018] 3. Under high load, a first time window inversely proportional to the load intensity coefficient is used; under low load, a fixed second time window is used. Ultimately, based on whether the target flow rate change exceeds a preset burst threshold, the load intensity coefficient is dynamically adjusted using either a preset amplification factor or a preset attenuation factor. Therefore, this method essentially introduces "contextual awareness" and "dynamic weighting" logic into stress assessment. Under high load, the system becomes more sensitive to recent flow bursts by shortening the observation window (first time window); while under stable load, it can filter out harmless flow fluctuations through a preset attenuation factor, avoiding misjudgments. By using the target flow rate change, reflecting flow volatility, as a key adjustment variable to amplify or attenuate the basic load intensity coefficient, this effectively solves the technical problem in existing technologies that rely solely on average load intensity for stress assessment, failing to effectively distinguish between "stable, continuous high load" and "risky high load accompanied by drastic fluctuations," thus leading to misjudgments of the system's true performance stress. Furthermore, the generated I / O stress index is no longer a single-dimensional linear value, but a composite index that can simultaneously characterize the "magnitude" and "stability" of the load. This greatly enhances the I / O stress index's ability to characterize and its sensitivity to the actual performance stress of the bus, making subsequent judgments on performance-sensitive states more accurate and reliable, and providing a high-quality decision-making basis for the effective implementation of the entire adaptive monitoring strategy. Attached Figure Description
[0019] Figure 1 This is a flowchart illustrating a method for visually monitoring the status of multi-source devices in a docking station according to an embodiment of this application. Figure 2 This is a schematic diagram of the data processing flow for calculating I / O pressure indicators in an embodiment of this application; Figure 3 This is a schematic diagram of the structure of the electronic device in the embodiments of this application.
[0020] Explanation of reference numerals in the attached drawings: 301, Central Processing Unit; 302, Read-Only Memory; 303, Random Access Memory; 304, Bus; 305, Input / Output Interface; 306, Input Section; 307, Output Section; 308, Storage Section; 309, Communication Section; 310, Driver; 311, Removable Media. Detailed Implementation
[0021] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.
[0022] In the description of the embodiments of this application, the words "for example" or "for instance" are used to indicate examples, illustrations, or explanations. Any embodiment or design that is described as "for example" or "for instance" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design options. Rather, the use of the words "for example" or "for instance" is intended to present the relevant concepts in a specific manner.
[0023] In the description of the embodiments of this application, the term "multiple" means two or more. For example, multiple systems means two or more systems, and multiple screen terminals means two or more screen terminals. Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the indicated technical features. Thus, a feature defined with "first" or "second" may explicitly or implicitly include one or more of that feature. The terms "comprising," "including," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized.
[0024] Figure 1 This is a flowchart illustrating a method for visually monitoring the status of multi-source devices in a docking station, as described in an embodiment of this application.
[0025] Please see Figure 1 This application provides a method for visually monitoring the status of multi-source devices in a docking station, the method comprising: S101. Obtain the raw data traffic on the uplink data bus between the target expansion dock and the host device, wherein the uplink data bus is the backbone data channel that carries the communication between the host device and all external devices connected by the target expansion dock. The uplink data bus refers to the backbone data channel connecting the host device and the docking station, used to carry communication data between the host device and all external devices connected to the docking station. This channel is typically a high-speed bus such as USB, Thunderbolt, or PCIe, and it carries a variety of data types, including video data, audio data, input device signals, and stored and transmitted data. It is the critical path for data interaction in the entire system.
[0026] During implementation, a dedicated traffic monitoring unit is integrated into the main control chip of the expansion dock. This unit includes a high-speed data capture module and a cache analysis module. The high-speed data capture module is responsible for intercepting physical layer data packets passing through the uplink data bus in real time and extracting them into raw data traffic information. This information includes, but is not limited to, the number of data bytes passing through per unit time, the number of data frames, and protocol type identifiers. The cache analysis module temporarily stores the raw data traffic and segments the data using timestamp information to form a structured data stream that can be used for subsequent statistical calculations.
[0027] To ensure the acquired data has analytical value, the system employs a sliding time window mechanism for traffic sampling. A sliding time window is a progressively advancing time interval within a preset time range, used to continuously observe data trends. This window mechanism allows the system to capture instantaneous load fluctuations on the uplink data bus even in dynamic environments, avoiding monitoring misjudgments caused by instantaneous noise or short-term peaks.
[0028] The acquisition of raw data traffic through the above method provides a complete, accurate, and time-continuous data foundation for subsequent calculations of average traffic values, traffic change rate sequences, and further derivation of uplink data bus I / O pressure indicators. This implementation not only accurately reflects the current communication load of the docking station but also provides crucial prior information for the system to intelligently determine whether the docking station has entered a performance-sensitive state, effectively improving the response speed and accuracy of the entire visual monitoring system.
[0029] S102. Within a preset sliding time window, calculate the average flow value and flow change rate sequence of the original data flow; To improve the accuracy and robustness of the analysis, the system does not directly calculate the average and rate of change for all raw data. Instead, it further performs baseline separation and burst identification processing on the raw data flow within the sliding window to distinguish between background flow components and burst flow components, which are then used separately for calculating the average flow value and flow rate of change. This process may include the following steps: S1021. Within the preset sliding time window, calculate the median of the original data flow and determine the median as the flow baseline value; A sliding time window is a time control mechanism used for time-series data analysis. Its function is to perform localized statistical analysis of data in fixed-length time intervals during continuous data acquisition. The window is set by the system based on parameters such as the communication response cycle of the uplink data bus, the typical data interaction cycle of external devices, and the processing speed of the host device. For example, it can be set to 500 milliseconds, 1 second, or 2 seconds. The specific length is determined by the dynamic parameter configuration module during system initialization and can be adaptively adjusted according to the operating status.
[0030] To extract representative traffic characteristics within the sliding time window, the system uses the median instead of the average as the traffic baseline. The median is the value in the middle after sorting all raw data traffic values within the window from smallest to largest. This effectively avoids interference from sudden spikes or abnormally low values, improving the stability and robustness of baseline extraction. The raw data traffic is acquired in real time from the physical link layer of the uplink data bus through a traffic acquisition module embedded in the docking station. The traffic value corresponding to each data point per unit time is typically counted in bytes per second (Bps) or bits per second (bps).
[0031] In actual execution, the system stores all raw data flow values within the current sliding time window using a circular buffer, and then calls the median calculation algorithm to sort the data in the buffer. The median is calculated using the Quickselect algorithm to reduce sorting overhead and improve real-time performance. Once determined, this median is marked as the baseline value of the current window's flow, serving as a threshold for subsequently identifying burst flow components and background flow components.
[0032] The baseline traffic value calculated using the above method can more accurately reflect the stable communication load level of the uplink data bus within the current sliding time window, providing a reliable benchmark for subsequent steps such as identifying burst traffic components based on dynamic burst thresholds, calculating average traffic values based on background traffic components, and generating traffic change rate sequences based on burst traffic components.
[0033] S1022. When the traffic baseline value is greater than the preset high load threshold, multiple data points in the original data traffic within the preset sliding time window that are greater than the dynamic burst threshold are identified as burst traffic components. The dynamic burst threshold is the product of the traffic baseline value and the preset burst identification factor. Multiple data points in the original data traffic within the preset sliding time window that are other than the burst traffic components are identified as background traffic components. After determining the traffic baseline value, when the traffic baseline value is greater than the preset high load threshold, the original data traffic is processed for component identification. Multiple data points that are greater than the dynamic burst threshold are identified as burst traffic components, while the remaining data points are identified as background traffic components.
[0034] When the uplink data bus is under high load, short-term bursts of data transmission may occur in the system, such as synchronous writing of high-definition video frames, batch reading of large files, and asynchronous access to external high-speed storage devices. These behaviors will manifest as short-term traffic peaks in the raw data traffic. Directly including them in the average calculation will increase the overall analysis error. Therefore, it is necessary to identify and remove abnormally high values in the raw data traffic under high load conditions to obtain more representative background load information and extract burst traffic characteristics that can be used for load dynamics analysis.
[0035] A preset high-load threshold is a reference standard used by the system to determine whether it is currently under high load. It is typically obtained through statistical analysis of experimental data. For example, in a test environment, various docking station workloads are simulated, and cluster analysis is performed on the median distribution within multiple sliding time windows to determine the 90th or 95th percentile value as the high-load threshold. This threshold effectively distinguishes between low and high load states and is compatible with the hardware channel capacity of different docking station models.
[0036] Once the traffic baseline value exceeds the preset high-load threshold, the system will enter the burst identification process. The dynamic burst threshold is a criterion used to determine whether a single data point belongs to a burst traffic component. It is calculated as the product of the current traffic baseline value and the preset burst identification factor. The preset burst identification factor is a dimensionless coefficient greater than 1, typically ranging from 1.3 to 2.0, and its value is set based on the sensitivity requirements for burst traffic identification in practical applications. This factor constructs a floating upper limit relative to the baseline value, allowing the burst traffic identification threshold to automatically adjust according to the current load level, thereby enhancing the algorithm's adaptability under different workloads.
[0037] The system iterates through all raw data flow points within a sliding time window, marking flow points exceeding the dynamic burst threshold as burst flow components and the remaining data points as background flow components. This marking process is completed in memory by the flow component classification module and recorded in a data structure as flag bits for subsequent use by the calculation modules for average flow values and flow change rate sequences.
[0038] When the baseline traffic value is less than or equal to a preset high load threshold, the system determines that the current uplink data bus is in a low to medium load state. At this time, there is no need to distinguish between burst traffic components and background traffic components. Instead, all raw data traffic within a preset sliding time window is directly used as the background traffic component in subsequent calculations. The system calculates the average traffic value based on these complete data points and generates a traffic change rate sequence using the difference sequence between adjacent data points. This ensures processing efficiency while accurately depicting the load level and trend of the current data channel, providing stable and continuous data support for the calculation of subsequent I / O pressure indicators.
[0039] S1023. Calculate the average flow value based on the background flow component, and generate the flow change rate sequence based on the burst flow component.
[0040] After completing the baseline extraction and component division of the raw data traffic within the sliding time window, the system statistically averages the data points in the background traffic component to describe the average transmission rate under stable communication conditions. Simultaneously, it quantifies the instantaneous amplitude of each data point in the burst traffic component relative to the baseline value and aggregates them in segments according to preset time window division rules. This allows for the calculation of the burst intensity change rate within each time period, thereby generating a traffic change rate sequence reflecting the trend of traffic fluctuations. Specifically, this may include the following steps: Calculate the arithmetic mean of the flow rates of multiple data points in the background flow component, and determine the arithmetic mean of the flow rates as the average flow rate value; According to the preset window division rules, the preset sliding time window is divided into multiple target time windows, and the time length of each target time window is equal. For each data point in the burst flow component, calculate the instantaneous amplitude of each data point relative to the flow baseline value within each target time window; Calculate the burst flow sub-total amplitude for each target time window, where the burst flow sub-total amplitude is the sum of all instantaneous amplitudes within the target time window, and one target window corresponds to one burst flow sub-total amplitude. Calculate the ratio of the total amplitude of the burst flow sub-value to the duration of the target time window for each target time window to obtain multiple flow change rates, and combine the multiple flow change rates in chronological order to form a flow change rate sequence.
[0041] In the specific implementation process, to accurately characterize the steady-state transmission level of the current uplink data bus, the system performs statistical processing on the identified background traffic components, calculates the arithmetic mean of the traffic from multiple data points, and uses this value as the average traffic value. Background traffic components refer to the set of data points within a sliding time window that are not identified as burst traffic; they represent the system's normal communication load under non-burst conditions. The system obtains the average traffic value by summing the values of these data points and dividing by the number of data points. The mathematical basis of this processing method is arithmetic mean calculation, which has good stability and representativeness. Using background traffic components for average calculation can accurately reflect the normal load level of the backbone data channel while eliminating burst interference, providing reliable input for subsequent I / O pressure index calculations. For example, if 80 background data points are obtained within a sliding time window, with unit traffic of [100, 105, 98, ..., 102] Bps, the system can directly sum these 80 values and divide by 80 to obtain the average traffic value.
[0042] After obtaining the average traffic value, to further characterize the dynamic fluctuations of the communication load, the system performs a detailed analysis of each data point in the burst traffic component, calculating its instantaneous amplitude relative to the traffic baseline value. The instantaneous amplitude is the difference between the traffic value of a single burst data point and the traffic baseline value, reflecting the burst intensity of that data point. Through this processing method, the system can quantify the deviation of each burst event and use this as a basic parameter to measure the instability of the data channel. During implementation, the system reads data points one by one from the burst traffic component and calls the amplitude calculation module to perform a difference operation between the traffic value of each data point and the currently saved traffic baseline value. The results are written to the burst amplitude cache queue in list form. For example, if the traffic value of a burst data point is 300 Bps and the traffic baseline value is 200 Bps, then the instantaneous amplitude is 100 Bps.
[0043] To systematically manage the temporal distribution characteristics of burst amplitudes, the system further subdivides the entire sliding time window into several target time windows based on preset window partitioning rules. These preset window partitioning rules are time segmentation strategies set according to the total duration of the sliding time window and the system's time resolution requirements. They are typically set by the system initialization parameter setting module; for example, a 1-second sliding time window might be divided into five equally long target time windows, each with a duration of 200 milliseconds. This partitioning method allows the system to observe the temporal distribution characteristics of burst traffic at a finer granularity, helping to identify the distribution density and concentration of burst loads along the time axis.
[0044] Subsequently, within each target time window, the system aggregates the burst amplitude data points falling within that time period, calculates their sum, and obtains the corresponding burst traffic sub-total amplitude. This value is used to measure the total intensity of the burst load within that time period. In practice, the system iterates through each record in the burst amplitude cache queue, categorizes it into the corresponding target time window based on its timestamp, and accumulates the values within each window, storing the results in a burst intensity mapping table. For example, in the first 200-millisecond target time window, if three data points with instantaneous amplitudes of 80, 95, and 110 Bps are collected, the burst traffic sub-total amplitude for that window is 285 Bps.
[0045] To further quantify the rate of change of burst intensity over time, the system calculates the ratio of the total burst flow amplitude of each target window to the duration of the target time window, thus obtaining the flow change rate for that window. This operation is essentially a normalization process, making burst intensities across different time periods comparable. By dividing the total burst flow amplitude of each window by 200 milliseconds (or the duration of another target window), the system obtains burst intensity rates over multiple unit time periods, forming a set of flow change rates. For example, if the total burst flow amplitude of the target window is 400 Bps and the window duration is 0.2 seconds, the corresponding flow change rate is 2000 Bps / s.
[0046] Finally, the system combines and arranges the above-mentioned flow rate changes according to the time sequence of each target time window, generating a complete flow rate change sequence. This sequence reflects the changing trend of sudden load within the sliding time window and is an important indicator for describing the instantaneous load fluctuation of the uplink data bus. This sequence can not only be used for dynamic modeling of I / O stress indicators, but also provide real-time input for judging performance-sensitive states. For example, if a sliding time window is divided into five target windows, and the flow rate changes are calculated as [1200, 1800, 950, 1600, 2100] Bps / s respectively, then this set of data constitutes a typical flow rate change sequence, which can be used to characterize the level of sudden instability in the current transmission process.
[0047] S103. Calculate the I / O pressure index of the uplink data bus based on the average flow rate value and the flow rate change sequence. The I / O pressure index is used to characterize the instantaneous load state of the uplink data bus. The I / O stress index not only reflects the overall load intensity but also comprehensively considers the fluctuation range of data traffic per unit time, thereby achieving high-precision identification of sudden data occupancy. Specifically, the system first calculates the load intensity coefficient based on the ratio between the average traffic value and the preset baseline traffic. Then, based on the numerical level of this coefficient, it selects different time window strategies to segment the traffic change rate sequence, extracts the representative maximum fluctuation value as the target traffic change rate, and dynamically corrects the load intensity coefficient in conjunction with this target value, ultimately obtaining the I / O stress index that reflects the overall pressure level of the current I / O channels.
[0048] Figure 2 Please refer to the schematic diagram of the data processing flow for calculating I / O pressure indicators in the embodiments of this application. Figure 3 The following is a detailed explanation of step S103: S1031. Calculate the ratio of the average flow rate to the preset reference flow rate to obtain the load intensity coefficient; The average flow rate is a value representing a stable communication state, calculated based on the background flow rate component. The preset baseline flow rate is a reference value set by the system during the initialization phase after statistical analysis of communication data from the target docking station and its typical operating scenarios. It typically represents the average communication load level of the docking station under normal operating conditions. The load intensity coefficient is a dimensionless ratio used to describe the increase or decrease of the current average communication intensity relative to the reference level, and can intuitively reflect the basic load pressure of the current system. For example, when the average flow rate is 800 Bps and the preset baseline flow rate is 500 Bps, the load intensity coefficient is 1.6, indicating that the current load has exceeded the reference level by 60%.
[0049] S1032. When the load intensity coefficient is greater than the preset load threshold, the duration of the first time window is calculated based on the load intensity coefficient, and the duration is inversely proportional to the load intensity coefficient. After obtaining the load intensity coefficient, when the load intensity coefficient exceeds the preset load threshold, the duration of the first time window is calculated based on this coefficient, and this duration is set to be inversely proportional to the load intensity coefficient. The preset load threshold is the threshold value for the system to determine whether it is currently in a high-load state. It is usually modeled using a large amount of measured data, extracting the distribution characteristics of the load intensity coefficient from the long-term operating records of multiple docking stations, and selecting values above the 85th or 90th percentile as the threshold reference. For example, if statistics show that the load intensity coefficient does not exceed 1.4 for 90% of the operating periods, then 1.4 can be set as the preset load threshold for the system. When the load intensity coefficient exceeds this threshold, it indicates that the system has entered a high-load operating range. At this time, it is necessary to improve the response speed to traffic changes. Therefore, by shortening the duration of the time window, the system can perceive the trend of sudden traffic changes with higher time resolution. The duration is inversely proportional to the load intensity coefficient, which means that the higher the load, the shorter the system analysis time window, thereby capturing key fluctuations in a timely manner when data bursts are frequent, and improving the system's adaptability to high-frequency fluctuations. For example, when the load intensity coefficient is 1.8, the system sets the first time window to 1 / 1.8 of the original window length, thereby increasing the monitoring frequency and refining the analysis.
[0050] S1033. In the flow rate change rate sequence, the multiple flow rates corresponding to the first time window are determined as a first flow rate change rate subsequence; After determining the duration of the first time window, multiple flow change rates corresponding to the first time window are extracted from the complete flow change rate sequence, and this set of data is identified as the first flow change rate subsequence. The flow change rate sequence is an ordered sequence reflecting the intensity of flow change per unit time, generated by the system in the previous stage based on the burst flow component. Each element represents the burst intensity rate within a target time window. The system calculates the time range from the start to the end of the first time window, filters out all flow change rate data points within this time period, and arranges them into an array structure in chronological order for subsequent fluctuation analysis. For example, with a sliding window length of 2 seconds, if the first time window is 0.8 seconds, the corresponding flow change rate subsequence may contain the change rate values [1200, 1800, 1600, 2000] Bps / s from the first four time periods.
[0051] S1034. Determine the maximum value of the flow change rate in the first flow change rate subsequence as the target flow change rate; The maximum value of the rate of change is selected from the first subsequence of flow rate changes as the target flow rate of change. The target flow rate of change is a key reference for the system to dynamically adjust load intensity, reflecting the strongest sudden fluctuations during the current high load period. Extracting the maximum value as a representative value is based on the non-linear amplification of the impact of sudden flow on system performance; the system focuses more on the most extreme instantaneous impacts rather than the overall average, in order to make timely adjustment strategies in performance-sensitive scenarios. For example, in the first subsequence [1200, 1800, 1600, 2000], the system determines 2000 Bps / s as the target flow rate of change.
[0052] S1035. In the flow rate change rate sequence, the multiple flow rates corresponding to the second time window are determined as the second flow rate change rate subsequence, and the duration of the second time window is a preset fixed duration. S1036. When the load intensity coefficient is less than or equal to the preset load threshold, the maximum value of the flow change rate in the second flow change rate subsequence is determined as the target flow change rate. When the load intensity coefficient does not exceed the preset load threshold, the system executes steps S1035 and S1036 to sequentially extract the flow change rate subsequence within the second time window from the flow change rate sequence, and selects the maximum value as the target flow change rate. The second time window is a fixed duration preset by the system, usually consistent with the sliding time window division rules, such as a fixed 500 milliseconds or 1 second. Since the load intensity is low at this time, the system does not need to excessively adjust the time granularity, so a fixed window is used to maintain analysis stability. In S1035, the system extracts several change rate values corresponding to the second time window from the flow change rate sequence to form the second flow change rate subsequence, for example, [900, 1100, 950] Bps / s. In S1036, the system extracts the maximum value from this subsequence, such as 1100 Bps / s, as the current target flow change rate, which is used to subsequently generate the final I / O pressure index in conjunction with the load intensity coefficient.
[0053] S1037. The load intensity coefficient is dynamically adjusted based on the target flow rate change rate to obtain the I / O pressure index.
[0054] After extracting the target flow rate change, step S1037 introduces a mechanism to assess the impact of sudden fluctuations on load evaluation. By dynamically adjusting the existing load strength coefficient, the I / O stress index not only reflects the average flow load level but also becomes sensitive to the intensity of instantaneous sudden flow. Specifically, the system adjusts the load strength coefficient by amplification or attenuation depending on whether the target flow rate change exceeds a preset burst threshold, thereby enhancing the index's responsiveness to transmission instability and ultimately obtaining a more comprehensive I / O stress index. This may include the following steps: S1037a. When the target flow rate change rate is greater than the preset burst threshold, the product of the load intensity coefficient and the preset amplification factor is determined as the I / O pressure index. When the target traffic change rate exceeds the preset burst threshold, the product of the load intensity coefficient and the preset amplification factor is used as the final I / O stress indicator. The target traffic change rate is the maximum burst traffic change value selected in high-load or low-load scenarios, used to sensitively reflect the burst transmission intensity in the data channel. The preset burst threshold is the benchmark value used by the system to determine whether burst traffic is significant. It is usually determined through statistical analysis of the change rate under various typical burst scenarios (such as 4K video export and disk image writing) in an experimental environment, typically using the 90th or 95th percentile as the threshold. If the target traffic change rate exceeds this threshold, it indicates that the current system experiences relatively severe instantaneous fluctuations. To more accurately reflect this high-dynamic load state, the system introduces a preset amplification factor to increase the load intensity coefficient, thereby enabling the final I / O stress indicator to reflect the impact of bursts on system performance. The preset amplification factor is a dimensionless coefficient greater than 1, usually set through system optimization experiments, with a value range generally between 1.2 and 2.0, adjusted according to specific requirements for load sensitivity. The principle behind setting this factor is to appropriately amplify the weight of sudden fluctuations without causing false alarms, enabling the monitoring system to quickly switch to a performance-sensitive state under high dynamic loads. For example, when the load intensity coefficient is 1.5, the target flow rate of change is 2500 Bps / s, the preset burst threshold is 2000 Bps / s, and the preset amplification factor is 1.5, the final I / O pressure index is 1.5 × 1.5 = 2.25, which is significantly higher than the original load intensity coefficient. Based on this, the system can quickly identify the current state as high-risk.
[0055] S1037b. When the target flow rate change rate is less than or equal to the preset burst threshold, the product of the load intensity coefficient and the preset attenuation factor is determined as the I / O pressure index.
[0056] When the target flow rate change is less than or equal to the preset burst threshold, it indicates that although there is a certain load on the uplink data bus, there is no obvious sudden fluctuation, so there is no need to amplify the load intensity coefficient. To avoid over-activation of system sensitivity, the system adopts a suppression strategy at this time, that is, the product of the load intensity coefficient and the preset attenuation factor is used as the I / O pressure index output. The preset attenuation factor is a dimensionless coefficient less than 1, usually set between 0.7 and 0.95, and its value is determined by balancing the false trigger frequency and system stability in actual applications. The main purpose of introducing this factor is to appropriately reduce the pressure index when the system is in a stable state with slight load or small fluctuations, to avoid misjudging it as a performance-sensitive state, thereby reducing unnecessary resource intervention and sampling frequency switching, and improving the overall energy efficiency of the system. For example, with a load intensity coefficient of 1.3, a target flow rate of 1500 Bps / s, a preset burst threshold of 2000 Bps / s, and a preset attenuation factor of 0.85, the final I / O pressure index is 1.3 × 0.85 = 1.105. This index will be used in the subsequent performance-sensitive judgment process, and the system will therefore remain in the normal monitoring frequency mode.
[0057] The dynamic adjustment mechanism of the two paths mentioned above enables the I / O pressure index to not only reflect the average load level, but also to sense the impact of sudden changes on the system in real time, realize sensitive monitoring and adaptive adjustment of the docking station's communication status, and ultimately ensure the data transmission stability of external devices and the overall performance of the host system.
[0058] S104. Determine whether the expansion dock is in a performance-sensitive state based on the I / O pressure index. The performance-sensitive state is used to characterize the system state in which the uplink data bus needs to prioritize data transmission performance. After calculating the I / O stress index, the system proceeds to step S104, which determines whether the docking station is in a performance-sensitive state based on the I / O stress index. This state is used to identify whether the uplink data bus needs to prioritize data transmission performance during a specific period. Given that the I / O stress index is affected by both average load and sudden fluctuations, to avoid misjudging the system state due to occasional jitter within a short period, the system does not directly use the pressure value at any given moment as the basis for judgment. Instead, it introduces a multi-dimensional dynamic analysis mechanism to comprehensively evaluate the pressure change trend from both the time duration and fluctuation frequency perspectives. Specifically, the system tracks the change trajectory of the I / O stress index within a preset judgment time period to identify whether it has experienced significant high-low voltage transitions and the duration of the high-voltage state, thereby determining whether the system has entered a state of continuous high load or frequent sudden changes. This may include the following steps: Within a preset judgment time period, when the I / O pressure index jumps from below the preset lower pressure threshold to above the preset upper pressure threshold, or when the I / O pressure index falls from above the preset upper pressure threshold back to below the preset lower pressure threshold, it is recorded as a valid fluctuation. The number of valid fluctuations is accumulated to determine the number of fluctuations; When the number of fluctuations exceeds a preset fluctuation threshold, the cumulative duration during which the I / O pressure index is higher than the preset pressure upper limit threshold is calculated within the preset determination time period. If the cumulative duration exceeds a preset duration threshold, the docking station is determined to be in the performance-sensitive state. If the cumulative duration is less than or equal to the preset duration threshold, then it is determined that the docking station is not in the performance-sensitive state. When the number of fluctuations is less than or equal to the preset fluctuation threshold, the I / O pressure index at the end of the preset judgment time period is determined as the current I / O pressure index. If the current I / O pressure index is greater than the preset pressure upper limit threshold, then the docking station is determined to be in the performance-sensitive state. If the current I / O pressure index is less than or equal to the preset pressure upper limit threshold, then it is determined that the docking station is not in the performance-sensitive state.
[0059] In the specific implementation process, to accurately determine whether the expansion dock is currently in a performance-sensitive state, the system introduces a dynamic trend analysis mechanism based on I / O pressure indicators in step S104 and executes a series of detailed judgment processes. The system first continuously collects I / O pressure indicators within a preset judgment time period. This time period is typically set based on the periodic characteristics of data load fluctuations in typical expansion dock usage scenarios. For example, in office applications, the peak-to-peak switching cycle for tasks such as network, storage, and image processing usually does not exceed 10 seconds; therefore, the preset judgment time period can be set to 5-10 seconds to cover at least one complete load cycle. The system iterates through the I / O pressure indicator data within this time period using a sliding window method and detects whether there are any drastic changes, such as a jump from below the preset lower pressure threshold to above the preset upper pressure threshold, or a reverse drop. The lower and upper pressure thresholds are used to define the low and high load boundaries of the system, respectively. These are typically determined by performing distribution analysis on a large amount of device operation sampling data, selecting the 20th and 80th percentiles of load intensity as the lower and upper limits to effectively identify representative abrupt changes. Each such jump is defined as a valid fluctuation, which is essentially the capture of a significant change in the system state from stable to extreme or from extreme back, and can reflect whether the equipment is in an unstable or frequently fluctuating state.
[0060] The system accumulates the aforementioned valid fluctuation events to count the number of fluctuations within the judgment period. When the number of fluctuations exceeds a preset fluctuation threshold, the system considers the current communication state to be unstable, potentially indicating frequent bursts of traffic interference or resource contention. This fluctuation threshold is derived through empirical modeling. For example, by clustering performance data of different docking stations operating under various peripheral combinations, if the average number of fluctuations in a stable state does not exceed 3, then a preset fluctuation threshold of 3 can be set as the trigger point for system jitter identification. When the number of fluctuations exceeds this threshold, the system further counts the cumulative duration of all I / O pressure indicators exceeding the pressure upper limit threshold within that time period to measure the continuity of the high-load state. If this duration exceeds a preset duration threshold (e.g., set to 2 seconds or accounting for more than 20% of the judgment period), it indicates that the system not only experiences frequent fluctuations but also that the peak state is persistent, potentially posing a real threat to data channel performance. Therefore, the system determines that the current docking station is in a performance-sensitive state. This state will trigger strategies such as increasing the sampling frequency and adjusting data priority to ensure communication stability. The preset duration threshold is a time threshold set by statistically analyzing the high load duration of the docking station in typical application scenarios, combined with system responsiveness and performance tolerance. For example, if 5 valid fluctuations are detected within a 10-second judgment period, and the cumulative stress index level is above 1.8 for 3.2 seconds, the system will determine that the docking station has entered a performance-sensitive state.
[0061] If the number of fluctuations exceeds the threshold, but the cumulative duration of high voltage does not reach the preset duration threshold, it indicates that although the system has slight jitter, it has not yet constituted a serious burden. At this time, the system will conservatively judge that it is not in a performance-sensitive state in order to avoid unnecessary waste of resources and sampling intervention due to misjudgment.
[0062] In another scenario, if the number of fluctuations does not exceed a preset fluctuation threshold, it indicates that the overall system state is relatively stable and fluctuations are infrequent. The system will no longer perform high-pressure continuity analysis, but will directly read the I / O pressure index at the end of a preset judgment period, i.e., the current I / O pressure index, as the judgment basis. If this value is greater than the preset upper pressure threshold, it means that although the fluctuations are not significant, the system has already been under continuous high pressure and can still be classified as a performance-sensitive state. Conversely, if the end pressure index is lower than or equal to the upper threshold, the system considers the current load to be within a safe range, and the docking station can maintain its normal operating mode.
[0063] Through the above mechanism, the system comprehensively considers the frequency and intensity of stress index changes when judging performance-sensitive states, making state recognition both sensitive and stable. This effectively avoids misjudgments and omissions, ensuring that the system switches to high-response mode at critical moments when transmission performance needs to be guaranteed, while ensuring system energy efficiency and resource balance when the load is controllable.
[0064] S105. When it is determined that the expansion dock is not in the performance-sensitive state, the first state data of the host device and the second state data of the external device are obtained through the first preset sampling frequency. When it is determined that the docking station is not currently in a performance-sensitive state, it indicates that the uplink data bus load is relatively stable, communication pressure is low, and system resources have not yet approached a bottleneck. In this situation, the system uses a first preset sampling frequency to collect status data. This frequency is set at a relatively high level, typically polling the device status within a sampling period of 100ms or less. The collected data includes the first status data of the host device (such as CPU utilization, memory usage, and I / O scheduling queue length) and the second status data of external devices (such as USB interface bandwidth utilization, peripheral current, voltage status, and storage device read / write rates). The main purpose of this high-frequency sampling strategy is to fully utilize idle bandwidth resources when the system load is light, improve the visualization accuracy and response speed of device operating status, and provide users with a more granular status profile. At the same time, high-frequency status data collection also facilitates the system to promptly detect potential anomalies or load trend changes, enabling an early warning mechanism. For example, when multiple devices are connected simultaneously but have not yet started high-intensity transmission, high-frequency sampling can quickly detect the device's readiness status and prepare for performance management in advance.
[0065] S106. When it is determined that the expansion dock is in the performance-sensitive state, the first state data of the host device and the second state data of the external device are obtained through a second preset sampling frequency, wherein the first preset sampling frequency is higher than the second preset sampling frequency. When the load status changes, and the system identifies the docking station as being in a performance-sensitive state through step S104, it immediately executes step S106, which switches the status sampling frequency to a second preset sampling frequency. This frequency is lower than the first preset sampling frequency; for example, the sampling period can be extended to 500ms or longer. At this time, the system's strategy shifts to ensuring the communication performance of the main data flow channel. Therefore, it actively reduces the data exchange frequency used for status acquisition, thereby reducing the bandwidth occupation of the monitoring system on the uplink data bus. This dynamic adjustment mechanism of the sampling frequency is a proactive strategy adjustment oriented towards performance assurance. Its core idea is to prioritize the data transmission needs of the user's main business during periods of system resource scarcity or data peaks, rather than continuously maintaining high-frequency monitoring and causing additional communication burden. By reducing the status sampling frequency, the traffic pressure of status reporting can be effectively reduced, while maintaining basic operational status awareness capabilities. For example, when the docking station is connected to a high-speed SSD and performing data backup, the system reduces the sampling frequency from every 100ms to every 500ms, thereby freeing up more bandwidth for large-capacity data writing.
[0066] S107. Generate a visualization command for the operating status of the host device and the external device based on the first status data and the second status data; After collecting status data from the host device and external devices, the system proceeds to step S107, which generates visualization instructions based on the first and second status data to drive the docking station's display screen to present graphical information about the current device operating status. In complex multi-source device environments, status data is diverse and updated at varying frequencies. To avoid information overload and improve the efficiency and usability of visualization, the system needs to classify, filter, and sort the status data, and dynamically adjust the display method to adapt to different levels of importance and changing characteristics. Therefore, in this step, the system introduces an anomaly detection and display priority adjustment mechanism. By identifying key abnormal states and hierarchically managing their display strategies, a more targeted and readable visualization information output process is constructed, which may include the following steps: Anomaly detection is performed on the first state data and the second state data to obtain an abnormal state data set; Obtain the anomaly level of each state data item in the abnormal state data set, and prioritize each state data item based on the anomaly level. According to the preset display rules, the state data with the highest abnormality level in the abnormal state data set is determined as the main display content, and the state data in the abnormal state data set other than the main display content is determined as the secondary display content. Analyze the frequency of change of secondary display content. When the frequency of change is greater than a preset frequency threshold, switch the display mode of the secondary display content to a simplified display mode. The simplified display mode only displays the status type and the abnormality level. When the change frequency is less than or equal to the preset frequency threshold, the display mode of the secondary display content is switched to the full display mode, and the full display mode displays detailed information about the status. Generate a first display instruction for the primary display content, and generate a second display instruction for the secondary display content; The first display instruction and the second display instruction are combined into the visualization instruction.
[0067] In the specific implementation process, after collecting the first state data (host device status) and the second state data (external device status), the system first performs anomaly detection on these two types of data to identify potential problems in the current device operation. Anomaly detection employs a combination of multi-indicator threshold judgment and pattern recognition. For example, for indicators such as CPU utilization, interface bandwidth utilization, current and voltage fluctuations, and disk I / O latency, a set of preset normal operating ranges is used. When the detected value exceeds this range or forms a specific abnormal pattern (such as continuous jitter, sudden changes, or stuttering sequences), it is judged as an abnormal state and included in the abnormal state data set. This set is used to aggregate all state data exhibiting abnormal characteristics within the current period and serves as the core input for subsequent visualization, filtering, and sorting.
[0068] After obtaining the abnormal status data set, the system calculates the corresponding abnormality level for each status data item in the set. This level measures the severity of the abnormality and is typically implemented using a multi-level scoring mechanism, based on weighted evaluations including the magnitude of exceeding thresholds, duration, and historical anomaly frequency. For example, if the USB interface bandwidth usage reaches 98% and lasts for more than 3 seconds, the abnormality level can be classified as "high risk." Based on the abnormality level of each data item, the system prioritizes the status data. The purpose of this prioritization is to highlight the critical anomalies that have the most direct impact on system performance, ensuring that the most important information is displayed first within limited display space, thereby improving the usability of visualization and the efficiency of emergency response.
[0069] Subsequently, the system manages the sorting results hierarchically according to a set of preset display rules. These rules are logical strategies based on user interaction habits and human-computer interface design principles. For example, only the top 1-2 abnormal statuses are retained as primary display content, while the rest are secondary. Primary display content typically occupies the core area of the screen and uses accent colors, icons, or animations to highlight warnings, while secondary display content is placed in secondary areas or presented in a list format. This rule originates from research on multi-user gaze behavior and information perception load, aiming to balance information density and user comprehension.
[0070] To further improve display efficiency and reduce user interference, the system performs frequency analysis on secondary display content, monitoring the number of times its state changes within multiple consecutive sampling periods. If a secondary abnormal state changes frequently within a unit of time, it indicates that its state is unstable but has not yet developed into a major problem. Such information can easily cause visual interference. Therefore, when its change frequency exceeds a preset frequency threshold (e.g., 1Hz, i.e., changing once per second), the system switches its display mode to a simplified display mode. This mode only displays the type of the state (e.g., "voltage fluctuation") and the current abnormality level (e.g., "medium"), omitting specific values and trend graphs to reduce information interference. This frequency threshold is derived from research on the critical value of human eye perception of changing information and is generally set in the range of 0.3~1Hz to ensure that the displayed content is compressed without losing key information.
[0071] If the frequency of change of a minor abnormal state data is lower than or equal to the preset frequency threshold, it indicates that its state is relatively stable. The system will then present it in full display mode, displaying detailed information such as the current value, historical trend, and abnormal start time, which helps users to conduct in-depth analysis and make decision-making.
[0072] After the above logic is completed, the system generates a first display instruction for the primary display content and a second display instruction for the secondary display content (based on its current mode). These two display instructions define their respective display areas, formats, graphic styles, and other rendering parameters. The system finally integrates the first and second display instructions to generate a unified visualization instruction. This instruction is used to drive the embedded display screen or external display terminal of the docking station to present the current operating status of the host and peripherals as needed.
[0073] For example, at any given moment, the system detects that the host CPU utilization reaches 96%, the USB-C port current is abnormally high, and the external SSD write latency suddenly increases. All three are judged as abnormal states, with CPU utilization classified as "high," current as "medium," and SSD latency as "low." According to preset display rules, the system prioritizes CPU utilization, displaying it as a red warning bar; current anomalies and SSD latency are secondary; the SSD latency has changed more than 10 times in the past 5 seconds, exceeding the threshold, so a simplified mode is used, displaying only "SSD Latency Anomaly - Low"; while the current anomaly is stable, a full mode is used, displaying the current current value, voltage change graph, and timestamp. Finally, this information is uniformly encapsulated into visualization commands and sent to the display terminal, achieving efficient, hierarchical, and dynamic visualization.
[0074] S108. Control the display screen of the expansion dock to perform a visual presentation according to the visualization instructions.
[0075] After generating visualization commands, the system controls the docking station's display screen to present the visualizations according to these commands, providing an intuitive display of the operating status of the host device and external devices. The main purpose of the visualization is to provide users with a unified, real-time, and differentiated status interface in a multi-source device collaborative operating environment, helping users quickly identify potential anomalies or performance bottlenecks in the system and make effective interventions or adjustments based on the visualization results.
[0076] In practical implementation, the visualization instructions include two types of display instructions: the first display instruction and the second display instruction, corresponding to the rendering parameters of the main and secondary display content, respectively. The display control module first parses information such as the arrangement position, font size, graphic elements, color encoding, animation effects, and update cycle of each display unit from the visualization instructions, and then redraws the display buffer of the docking station's display screen based on these parameters. The docking station's display screen is typically an integrated OLED or low-power TFT screen with a certain resolution and brightness range, supporting graphical interface rendering. The system uses a lightweight graphics rendering engine, such as one based on LVGL (Light and Versatile Graphics Library) or a self-developed embedded GUI kernel, to present status information on the screen in real time in the form of numbers, icons, progress bars, color warning blocks, etc., according to the display rules specified by the visualization instructions.
[0077] Primary content is prioritized to occupy the center of the display interface or visually high-attention areas. High-contrast colors (such as red, orange, and yellow) and dynamic elements (such as flashing or pulse icons) highlight high-level anomaly data. For example, a red alert bar showing CPU usage at 95% in real-time, or an animated bar chart showing USB interface bandwidth usage nearing its limit, ensures users receive critical risk information immediately. Secondary content is arranged according to the current system-determined display mode (simplified or full). Simplified mode only displays the status type and anomaly level, such as "Memory Fluctuation - Medium," while full mode includes detailed information such as numerical values, trend charts, or timestamps. The system also dynamically adjusts the refresh rate based on content change frequency, reducing the update frequency of frequently changing secondary content to minimize visual interference and screen power consumption.
[0078] This step enables a clear priority structure and user-friendly interaction in the status presentation. Users can gain comprehensive status awareness directly on the docking station without needing to access a complex control panel. It also provides a front-end visual foundation for subsequent status logging, fault tracing, and local alarms. By driving the display screen with differentiated content through visual commands, the system achieves a complete closed loop from data acquisition, status recognition, visual policy generation to terminal display, ensuring the docking station maintains efficient and intelligent information interaction capabilities even under multi-device access and high-load operation scenarios. For example, in a typical office scenario, users can intuitively see information such as current host load, external hard drive I / O pressure, and power supply stability on the docking station, facilitating real-time adjustments or maintenance decisions and improving overall equipment efficiency and stability.
[0079] Please see Figure 3 This is a schematic diagram of the structure for visual monitoring of the status of multi-source devices in the expansion dock in this embodiment of the application.
[0080] It should be noted that, Figure 3 The structure of the multi-source device status visualization monitoring system shown in the example is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.
[0081] like Figure 3 As shown, a multi-source device status visualization monitoring system for a docking station includes a central processing unit 301, which can perform various appropriate actions and processes according to a program stored in a read-only memory 302 or a program loaded from a storage section 308 into a random access memory 303, such as executing the methods described in the above embodiments. The random access memory 303 also stores various programs and data required for system operation. The central processing unit 301, the read-only memory 302, and the random access memory 303 are interconnected via a bus 304. An input / output interface 305 is also connected to the bus 304.
[0082] The following components are connected to the input / output interface 305: an input section 306 including audio input devices, push-button switches, etc.; an output section 307 including an LCD display, audio output devices, indicator lights, etc.; a storage section 308 including a hard disk, etc.; and a communication section 309 including a network interface card such as a LAN (Local Area Network) card, modem, etc. The communication section 309 performs communication processing via a network such as the Internet. A drive 310 is also connected to the input / output interface 305 as needed. A removable medium 311, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 310 as needed so that computer programs read from it can be installed into the storage section 308 as needed.
[0083] In particular, according to embodiments of the present invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of the present invention include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing computer programs for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 309, and / or installed from removable medium 311. When the computer program is executed by central processing unit 301, it performs the various functions defined in the present invention.
[0084] It should be noted that specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory, read-only memory, erasable programmable read-only memory, flash memory, optical fiber, portable compact disk read-only memory, optical storage devices, magnetic storage devices, or any suitable combination thereof. In this invention, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0085] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. Each block in a flowchart or block diagram may represent a module, segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those shown in the drawings.
[0086] Specifically, the multi-source device status visualization monitoring system for a docking station according to this embodiment includes a processor and a memory. The memory stores a computer program. When the computer program is executed by the processor, it implements the multi-source device status visualization monitoring method for a docking station provided in the above embodiment.
[0087] In another aspect, the present invention also provides a computer-readable storage medium, which may be included in the multi-source device status visualization and monitoring system of the expansion dock described in the above embodiments; or it may exist independently and not assembled into the multi-source device status visualization and monitoring system of the expansion dock. The storage medium carries one or more computer programs, which, when executed by a processor of the multi-source device status visualization and monitoring system of the expansion dock, cause the multi-source device status visualization and monitoring system of the expansion dock to implement the multi-source device status visualization and monitoring method of the expansion dock provided in the above embodiments.
Claims
1. A method for visually monitoring the status of multi-source devices in a docking station, characterized in that, The method includes: Obtain the raw data traffic on the uplink data bus between the target dock and the host device, wherein the uplink data bus is the backbone data channel that carries the communication between the host device and all external devices connected by the target dock; Within a preset sliding time window, calculate the average flow rate and flow rate change sequence of the original data flow; The I / O pressure index of the uplink data bus is calculated based on the average flow rate and the flow rate change sequence. The I / O pressure index is used to characterize the instantaneous load state of the uplink data bus. Based on the I / O stress index, it is determined whether the expansion dock is in a performance-sensitive state. The performance-sensitive state is used to characterize the system state in which the uplink data bus needs to prioritize data transmission performance. When it is determined that the expansion dock is not in the performance-sensitive state, the first state data of the host device and the second state data of the external device are obtained through a first preset sampling frequency. When it is determined that the expansion dock is in the performance-sensitive state, the first state data of the host device and the second state data of the external device are obtained through a second preset sampling frequency, wherein the first preset sampling frequency is higher than the second preset sampling frequency. Based on the first status data and the second status data, a visual command is generated to show the operating status of the host device and the external device. The display screen of the docking station is controlled to present a visual representation according to the visualization instructions.
2. The method according to claim 1, characterized in that, The step of calculating the average flow rate and flow rate change sequence of the original data flow within a preset sliding time window specifically includes: Within the preset sliding time window, the median of the original data traffic is calculated, and the median is determined as the traffic baseline value; When the traffic baseline value is greater than the preset high load threshold, multiple data points in the original data traffic within the preset sliding time window that are greater than the dynamic burst threshold are identified as burst traffic components. The dynamic burst threshold is the product of the traffic baseline value and the preset burst identification factor. Multiple data points in the original data traffic within the preset sliding time window that are other than the burst traffic components are identified as background traffic components. The average flow value is calculated based on the background flow component, and the flow change rate sequence is generated based on the burst flow component.
3. The method according to claim 2, characterized in that, The step of calculating the average flow value based on the background flow component and generating the flow change rate sequence based on the burst flow component specifically includes: Calculate the arithmetic mean of the flow rates of multiple data points in the background flow component, and determine the arithmetic mean of the flow rates as the average flow rate value; According to the preset window division rules, the preset sliding time window is divided into multiple target time windows, and the time length of each target time window is equal. For each data point in the burst flow component, calculate the instantaneous amplitude of each data point relative to the flow baseline value within each target time window; Calculate the burst flow sub-total amplitude for each target time window, where the burst flow sub-total amplitude is the sum of all instantaneous amplitudes within the target time window, and one target window corresponds to one burst flow sub-total amplitude. Calculate the ratio of the total amplitude of the burst flow sub-value to the duration of the target time window for each target time window to obtain multiple flow change rates, and combine the multiple flow change rates in chronological order to form a flow change rate sequence.
4. The method according to claim 3, characterized in that, The calculation of the I / O pressure index of the uplink data bus based on the average flow rate and the flow rate change sequence specifically includes: The load intensity coefficient is obtained by calculating the ratio of the average flow rate to the preset reference flow rate. When the load intensity coefficient is greater than the preset load threshold, the duration of the first time window is calculated based on the load intensity coefficient, and the duration is inversely proportional to the load intensity coefficient. In the flow rate change rate sequence, the multiple flow rates corresponding to the first time window are determined as the first flow rate change rate subsequence; The maximum value of the flow change rate in the first flow change rate subsequence is determined as the target flow change rate; In the flow rate change rate sequence, the multiple flow rates corresponding to the second time window are determined as the second flow rate change rate subsequence, and the duration of the second time window is a preset fixed duration; When the load intensity coefficient is less than or equal to the preset load threshold, the maximum value of the flow change rate in the second flow change rate subsequence is determined as the target flow change rate; The load intensity coefficient is dynamically adjusted based on the target flow rate change to obtain the I / O pressure index.
5. The method according to claim 4, characterized in that, The dynamic adjustment of the load intensity coefficient based on the target flow rate change to obtain the I / O pressure index specifically includes: When the target flow rate change rate is greater than the preset burst threshold, the product of the load intensity coefficient and the preset amplification factor is determined as the I / O pressure index; When the target flow rate change rate is less than or equal to the preset burst threshold, the product of the load intensity coefficient and the preset attenuation factor is determined as the I / O pressure index.
6. The method according to claim 1, characterized in that, The process of determining whether the docking station is in a performance-sensitive state based on the I / O stress index specifically includes: Within a preset judgment time period, when the I / O pressure index jumps from below the preset lower pressure threshold to above the preset upper pressure threshold, or when the I / O pressure index falls from above the preset upper pressure threshold back to below the preset lower pressure threshold, it is recorded as a valid fluctuation. The number of valid fluctuations is accumulated to determine the number of fluctuations; When the number of fluctuations exceeds a preset fluctuation threshold, the cumulative duration during which the I / O pressure index is higher than the preset pressure upper limit threshold is calculated within the preset determination time period. If the cumulative duration exceeds a preset duration threshold, the docking station is determined to be in the performance-sensitive state. If the cumulative duration is less than or equal to the preset duration threshold, then it is determined that the docking station is not in the performance-sensitive state. When the number of fluctuations is less than or equal to the preset fluctuation threshold, the I / O pressure index at the end of the preset judgment time period is determined as the current I / O pressure index. If the current I / O pressure index is greater than the preset pressure upper limit threshold, then the docking station is determined to be in the performance-sensitive state. If the current I / O pressure index is less than or equal to the preset pressure upper limit threshold, then it is determined that the docking station is not in the performance-sensitive state.
7. The method according to claim 1, characterized in that, The visualization instructions for generating the operating status of the host device and the external device based on the first status data and the second status data specifically include: Anomaly detection is performed on the first state data and the second state data to obtain an abnormal state data set; Obtain the anomaly level of each state data in the abnormal state data set, and prioritize each state data based on the anomaly level; According to the preset display rules, the state data with the highest abnormality level in the abnormal state data set is determined as the main display content, and the state data in the abnormal state data set other than the main display content is determined as the secondary display content. Analyze the frequency of change of secondary display content. When the frequency of change is greater than a preset frequency threshold, switch the display mode of the secondary display content to a simplified display mode. The simplified display mode only displays the status type and the abnormality level. When the change frequency is less than or equal to the preset frequency threshold, the display mode of the secondary display content is switched to the full display mode, and the full display mode displays detailed information about the status. Generate a first display instruction for the primary display content, and generate a second display instruction for the secondary display content; The first display instruction and the second display instruction are combined into the visualization instruction.
8. A multi-source device status visualization monitoring system for an expansion dock, characterized in that, The multi-source device status visualization monitoring system of the expansion dock includes: one or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to cause the multi-source device status visualization monitoring system of the expansion dock to perform the method as described in any one of claims 1-7.
9. A computer-readable storage medium comprising instructions, characterized in that, When the instruction is executed on the multi-source device status visualization monitoring system of the expansion dock, the multi-source device status visualization monitoring system of the expansion dock performs the method as described in any one of claims 1-7.
10. A computer program product, characterized in that, When the computer program product is run on the multi-source device status visualization monitoring system of the expansion dock, the multi-source device status visualization monitoring system of the expansion dock performs the method as described in any one of claims 1-7.