Photovoltaic cloud side-end collaborative data management system and method
Through the photovoltaic cloud-edge collaborative data management system, the characteristics of shadow movement and power fluctuation patterns are dynamically perceived, and adaptive sampling rules are generated. This solves the problem of misjudgment caused by data discontinuity in photovoltaic power plant monitoring, realizes high-resolution data capture and fault identification, and improves the accuracy and efficiency of operation and maintenance decisions.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-30
- Publication Date
- 2026-04-03
AI Technical Summary
In existing photovoltaic power plant monitoring, because edge nodes use static rules to filter data, key transient processes are compressed into discrete state points, making it impossible for the cloud to distinguish between short-term environmental disturbances and long-term performance degradation. This leads to misjudgments of component degradation types, resulting in ineffective cleaning and incorrect component replacement.
The system collects current, voltage, and ambient light intensity values of photovoltaic strings through terminal devices, extracts power fluctuation frequency and amplitude from edge nodes, calculates shadow movement speed vectors, generates adaptive sampling rules, resamples to generate continuous datasets, analyzes the spatiotemporal correlation of fluctuations to mark key string nodes, and uploads the data to the cloud platform.
It achieves significant improvement in data fidelity during transient processes while ensuring data continuity, accurately locates fault characteristics and short-term environmental interference, avoids fault misjudgment and resource waste, and enhances the preventive intervention capability of operation and maintenance decisions.
Smart Images

Figure CN121786486A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of photovoltaic power plant monitoring technology, and more specifically, to a photovoltaic cloud-edge-device collaborative data management system and method. Background Technology
[0002] In photovoltaic power plant monitoring, string-level data acquisition is fundamental for system performance evaluation and fault diagnosis. Currently, the industry generally adopts a cloud-edge-device collaborative architecture for data management: terminal devices collect string current, voltage, and environmental parameters; edge nodes perform data preprocessing and compression; and the cloud completes long-term performance analysis and strategy generation. In existing technologies, edge nodes typically upload data based on fixed sampling periods or threshold rules, such as triggering uploads only when power fluctuations exceed a set percentage, or summarizing data at fixed time intervals. This approach can meet basic monitoring needs in scenarios with stable sunlight.
[0003] However, photovoltaic power plants often face dynamic environmental disturbances in actual operation, such as local shading migration and uneven dust distribution, causing string output characteristics to fluctuate rapidly on timescales of minutes or even seconds. Because edge nodes use static rules to filter data, critical transient processes (such as a sharp drop in power due to shading followed by recovery) are compressed into two discrete state points, the start and end points, losing the complete fluctuation trajectory. When cloud-based models are built on this type of discontinuous data, they cannot distinguish the characteristics of short-term environmental disturbances from long-term performance degradation (such as cell aging and solder ribbon breakage), leading to misjudgments of component degradation types and consequently, ineffective cleaning and incorrect component replacement decisions. Summary of the Invention
[0004] In order to overcome the above-mentioned defects of the prior art, the present invention provides a photovoltaic cloud-edge-device collaborative data management system and method to solve the problems mentioned in the background art.
[0005] To achieve the above objectives, the present invention provides the following technical solution: A data management method for photovoltaic cloud-edge-device collaboration includes: S1. The terminal equipment collects the current value, voltage value and ambient light intensity value of the photovoltaic string to form a raw data stream; S2. Edge nodes extract the fluctuation frequency and fluctuation amplitude of the string output power in the original data stream; S3. Calculate the direction angle of light intensity change between adjacent sampling points based on the ambient light intensity value, and determine the shadow movement speed vector based on the direction angle of light intensity change; S4. When the fluctuation frequency exceeds the set threshold, based on the fluctuation amplitude and the angle between the direction of the shadow movement speed vector and the photovoltaic string arrangement direction, calculate the boundary transition time for near-vertical shadow coverage and the shadow dwell time for near-parallel shadow movement to generate adaptive sampling rules. S5. Resample the original data stream according to the adaptive sampling rules to generate a continuous dataset; S6. Analyze the spatiotemporal correlation of fluctuations in adjacent photovoltaic strings in a continuous dataset to determine the direction and speed of disturbance propagation, and mark key photovoltaic string nodes; S7. Upload the continuous dataset of key photovoltaic string nodes to the cloud platform.
[0006] Furthermore, the terminal equipment collects the current value, voltage value, and ambient light intensity value of the photovoltaic string to form a raw data stream, including: The DC current value of the photovoltaic string is periodically obtained through a current sensor; The DC voltage value of the photovoltaic string is periodically obtained through a voltage sensor; The ambient light intensity value of the area where the photovoltaic string is located is periodically obtained by a light intensity sensor; Bind the DC current value, DC voltage value, and ambient light intensity value marked with the same timestamp into a data unit; Arranging consecutive data units in chronological order forms the original data stream.
[0007] Furthermore, the edge nodes extract the fluctuation frequency and fluctuation amplitude of the string output power in the original data stream, including: Separate the current and voltage values of the photovoltaic strings from the raw data stream; The string output power value is obtained by multiplying the current value and voltage value at the same timestamp. A power change sequence is obtained by performing a differential operation on the output power values of consecutive timestamps. The number of times the direction of change reverses in the power change sequence per unit time is used as the fluctuation frequency. The difference between adjacent maxima and minima in the power change sequence is calculated as the fluctuation amplitude.
[0008] Furthermore, the direction angle of light intensity change between adjacent sampling points is calculated based on the ambient light intensity value, and the shadow movement velocity vector is determined according to the direction angle of light intensity change, including: Obtain the ambient light intensity values at three consecutive sampling points; The difference in illumination intensity between the second sampling point and the first sampling point is calculated as the first directional component. The difference in illumination intensity between the third sampling point and the second sampling point is calculated as the second directional component. The direction angle of light intensity change is obtained by performing arctangent calculation on the first and second directional components. The shadow movement angular velocity is determined by dividing the angular change of two consecutive light intensity change directions by the corresponding time interval. The direction angle of change in light intensity is used as the direction of shadow movement, and the shadow movement velocity vector is constructed by combining the shadow movement angular velocity.
[0009] Furthermore, when the fluctuation frequency exceeds a set threshold, based on the fluctuation amplitude and the angle between the direction of the shadow movement speed vector and the photovoltaic string arrangement direction, the boundary transition time for near-vertical shadow coverage and the shadow dwell time for near-parallel shadow movement are calculated to generate adaptive sampling rules, including: Calculate the angle between the direction of the shadow movement velocity vector and the direction of the photovoltaic string arrangement; When the included angle is greater than the vertical determination threshold, it is determined to be near-vertical shadow coverage. The boundary transition time is calculated as the length of the photovoltaic string divided by the magnitude of the shadow movement speed vector. When the included angle is less than the parallel judgment threshold, it is judged as a near parallel shadow movement. The shadow dwell time is calculated by multiplying the length of the photovoltaic string by the cosine of the included angle and then dividing by the magnitude of the shadow movement speed vector. Set the resampling time window length based on the boundary transition time or shadow dwell time; Adaptive sampling rules are generated by adjusting the resampling time window length based on the fluctuation amplitude.
[0010] Furthermore, the angle between the direction of the shadow movement velocity vector and the photovoltaic string arrangement direction is calculated as follows: Obtain the direction angle component of the shadow movement velocity vector; Obtain the preset orientation angle of the photovoltaic string arrangement direction; Calculate the difference between the angular component of the shadow movement velocity vector and the preset angular component of the photovoltaic string arrangement direction; The absolute value of the difference is taken as the angle between the direction of the shadow movement velocity vector and the direction of the photovoltaic string arrangement.
[0011] Furthermore, the original data stream is resampled according to adaptive sampling rules to generate a continuous dataset, including: The resampling time window length is determined based on adaptive sampling rules; Divide the original data stream into time periods based on the length of the resampling time window; Linear interpolation is performed on the current, voltage, and ambient light intensity values of the photovoltaic string within each time period. Arrange the interpolated current values, voltage values, and ambient light intensity values in chronological order; The current value, voltage value, and ambient light intensity value bound to the same timestamp are used as data units; A continuous dataset is formed by connecting consecutive data units in chronological order.
[0012] Furthermore, the spatiotemporal correlation of fluctuations in adjacent photovoltaic strings in the continuous dataset is analyzed to determine the direction and speed of disturbance propagation, and key photovoltaic string nodes are marked, including: Extract the time series of output power of adjacent photovoltaic strings in a continuous dataset; Calculate the cross-correlation coefficient sequence of the time series of output power of adjacent photovoltaic strings; Identify the time offset corresponding to the maximum value in the cross-correlation coefficient sequence; The disturbance propagation speed is calculated based on the time offset and the physical spacing between adjacent photovoltaic strings; The direction of disturbance propagation is determined by the order in which the maximum values of the cross-correlation coefficients appear. Strings whose cross-correlation coefficients exceed the correlation threshold in the disturbance propagation path are marked as key photovoltaic string nodes.
[0013] Furthermore, continuous datasets of key photovoltaic string nodes are uploaded to the cloud platform, including: Obtain the key photovoltaic string node identifiers for marking; Extract the current, voltage, and ambient light intensity values corresponding to the key photovoltaic string node identifiers from the continuous dataset; The extracted current value, voltage value, and ambient light intensity value are encapsulated into a data packet; Data packets are transmitted to the cloud platform via IoT communication protocols; Establish an association between key photovoltaic string node identifiers and data packets on a cloud platform.
[0014] On the other hand, the present invention provides a photovoltaic cloud-edge-device collaborative data management system, comprising: The terminal acquisition module is used to collect the current value, voltage value and ambient light intensity value of the photovoltaic string through the terminal device to form a raw data stream; The fluctuation extraction module is used to extract the fluctuation frequency and fluctuation amplitude of the string output power in the raw data stream at the edge node; The shadow calculation module is used to calculate the direction angle of light intensity change between adjacent sampling points based on the ambient light intensity value, and to determine the shadow movement speed vector based on the direction angle of light intensity change. The adaptive module is used to generate adaptive sampling rules by calculating the boundary transition time for near-vertical shadow coverage and the shadow dwell time for near-parallel shadow movement, based on the fluctuation amplitude and the angle between the direction of the shadow movement speed vector and the photovoltaic string arrangement direction. The resampling module is used to resample the original data stream according to adaptive sampling rules to generate a continuous dataset; The node labeling module is used to analyze the spatiotemporal correlation of fluctuations in adjacent photovoltaic strings in a continuous dataset, determine the direction and speed of disturbance propagation, and label key photovoltaic string nodes. The cloud upload module is used to upload continuous datasets of key photovoltaic string nodes to the cloud platform.
[0015] Compared with the prior art, the present invention has the following beneficial effects: 1. By dynamically sensing the coupling relationship between shadow movement characteristics and power fluctuation patterns, an adaptive sampling mechanism driven by environmental disturbances is constructed. The direction angle of light intensity change and shadow movement velocity vector are calculated in real time at the edge. Combined with the string arrangement direction, vertical / parallel shadow scenes are accurately distinguished. Sampling rules are dynamically generated based on the physical model, enabling the system to fully capture the change process of shadow coverage boundary transition and the continuous power attenuation trajectory of parallel shadow movement. While ensuring data continuity, redundant transmission is avoided. Compared with traditional static rules, the data fidelity of transient processes is significantly improved, providing high-resolution complete fluctuation waveforms for cloud analysis.
[0016] 2. By accurately locating key disturbance propagation nodes through spatiotemporal correlation analysis of fluctuations, the physical separation of fault characteristics from short-term environmental interference is achieved. The disturbance propagation speed is calculated based on the peak delay of the cross-correlation coefficient of adjacent string power sequences. Key string nodes are marked in combination with the propagation direction, enabling the cloud to identify abnormal propagation patterns caused by structural degradation such as cell aging. This solves the problem of fault misjudgment caused by data discontinuity in traditional methods, upgrading operation and maintenance decisions from extensive response to preventive intervention, and effectively avoiding resource waste caused by ineffective cleaning and incorrect component replacement. Attached Figure Description
[0017] Figure 1 This is a flowchart of a photovoltaic cloud-edge-device collaborative data management method according to the present invention; Figure 2 This is a schematic diagram of the structure of a photovoltaic cloud-edge collaborative data management system according to the present invention. Detailed Implementation
[0018] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0019] Example 1: Figure 1 This invention provides a data management method for photovoltaic cloud-edge-device collaboration, comprising: S1. The terminal equipment collects the current value, voltage value and ambient light intensity value of the photovoltaic string to form a raw data stream; S2. Edge nodes extract the fluctuation frequency and fluctuation amplitude of the string output power in the original data stream; S3. Calculate the direction angle of light intensity change between adjacent sampling points based on the ambient light intensity value, and determine the shadow movement speed vector based on the direction angle of light intensity change; S4. When the fluctuation frequency exceeds the set threshold, based on the fluctuation amplitude and the angle between the direction of the shadow movement speed vector and the photovoltaic string arrangement direction, calculate the boundary transition time for near-vertical shadow coverage and the shadow dwell time for near-parallel shadow movement to generate adaptive sampling rules. S5. Resample the original data stream according to the adaptive sampling rules to generate a continuous dataset; S6. Analyze the spatiotemporal correlation of fluctuations in adjacent photovoltaic strings in a continuous dataset to determine the direction and speed of disturbance propagation, and mark key photovoltaic string nodes; S7. Upload the continuous dataset of key photovoltaic string nodes to the cloud platform.
[0020] S1. The terminal equipment collects the current value, voltage value, and ambient light intensity value of the photovoltaic string to form a raw data stream. The specific implementation is as follows: The terminal device periodically acquires the DC current value of the photovoltaic string through a current sensor. The current sensor measures DC current using the Hall effect principle, and its sampling period is set to a fixed interval configurable between 100 and 500 milliseconds. Specifically, the current sensor passes the output line of the photovoltaic string through a magnetic ring induction coil, detecting changes in magnetic field strength and converting it into a 0-5 volt analog voltage signal. This signal is then converted into a digital current value by an analog-to-digital converter, covering a current range of 0 to 15 amperes with a resolution of 0.01 amperes. For example, when the photovoltaic string is operating under standard illumination conditions, the current sensor outputs a current measurement value every 200 milliseconds, retaining two decimal places of precision and marking the acquisition time with a millisecond-level timestamp.
[0021] The terminal equipment periodically acquires the DC voltage value of the photovoltaic string through a voltage sensor. The voltage sensor uses a resistor divider circuit connected in parallel to the positive and negative terminals of the photovoltaic string, with a voltage division ratio of 1000:1. After isolation by an isolation amplifier, the voltage is input to a 16-bit analog-to-digital converter. The sampling period is synchronized with the current sensor, acquiring voltage values at the same timestamp. The voltage measurement range covers 0 volts to 1000 volts, with a resolution of 0.1 volts. The voltage sensor has a built-in temperature compensation module that automatically corrects measurement deviations based on ambient temperature. For example, when the ambient temperature exceeds 25 degrees Celsius, a correction of 0.05% of the full-scale range is applied for every 1 degree Celsius increase in temperature.
[0022] The terminal device periodically acquires the ambient light intensity value of the area where the photovoltaic string is located through a light intensity sensor. The light intensity sensor uses a silicon photodiode as the photosensitive element, with a spectral response range covering wavelengths from 400 nm to 1100 nm, and is installed at the top of the photovoltaic string support in an unobstructed position. The sensor has a built-in cosine corrector to eliminate the influence of the incident angle, outputting an illuminance measurement value every 100 milliseconds, with a range of 0 watts per square meter to 1500 watts per square meter and a measurement error not exceeding ±5%. During data acquisition, the sensor automatically filters out transient shading interference; for example, when three consecutive sampling values fluctuate by more than 20%, an outlier rejection mechanism is triggered.
[0023] The terminal device binds DC current, DC voltage, and ambient light intensity values marked with the same timestamp into data units. The binding operation is implemented through a microcontroller and specifically includes: first, reading the current, voltage, and light intensity values corresponding to the same millisecond-level timestamp from the internal buffer; second, verifying the validity of the three sets of data, discarding all data for that timestamp if any data is missing or exceeds the measurement range; and finally, encapsulating the valid data according to a preset data structure containing four fields: a 64-bit timestamp field, a 16-bit current value field, a 16-bit voltage value field, and a 16-bit light intensity value field. For example, a current value of 5.67 amps, a voltage value of 412.3 volts, and a light intensity value of 856 watts per square meter collected at timestamp 1672531200000 will be encoded as a binary data unit {timestamp:1672531200000, current:567, voltage:4123, light:856}.
[0024] The terminal device arranges consecutive data units in chronological order to form a raw data stream. The raw data stream generation process includes: storing data units in ascending order of timestamps into a circular buffer with a capacity of 1000 data units; when the buffer reaches 80% capacity, a data packaging mechanism is initiated, encapsulating 100 consecutive data units into a data block; each data block is added with a start timestamp and an end timestamp as an index header; and the data is transmitted to the edge node via an RS485 communication interface at a rate of 10 data blocks per second. The data stream transmission uses a CRC-16 check mechanism, and a retransmission request for a specified timestamp range is triggered when the check fails. For example, if the check fails when transmitting data block number 15 (timestamps 1672531200000 to 1672531201000), the edge node will send a retransmission command containing that timestamp range, and the terminal device will re-extract the corresponding data units from the buffer and reassemble them for transmission.
[0025] In actual photovoltaic power plant deployments, terminal equipment is installed in the junction box of each photovoltaic string and connected via a CAN bus network. Timestamps are synchronized via satellite time signals to ensure that the time error between distributed terminal devices is less than 1 millisecond. The raw data stream generates approximately 50 data units per second, with each data unit occupying 12 bytes of storage space, resulting in an average daily data volume of approximately 52 megabytes.
[0026] S2. The edge nodes extract the fluctuation frequency and fluctuation amplitude of the string output power in the original data stream, specifically as follows: Edge nodes separate the current and voltage values of the photovoltaic strings from the raw data stream. The specific implementation process includes: receiving the raw data stream from the terminal device, which consists of data units arranged in chronological order. Each data unit contains a timestamp, DC current value, DC voltage value, and ambient light intensity value; extracting the DC current and DC voltage value fields from each data unit through data parsing operations; and storing the current and voltage values in a current value queue and a voltage value queue, respectively, in chronological order. The current and voltage value queues use a first-in, first-out (FIFO) buffer structure, with a configurable buffer capacity of 300 to 800 data points. When a queue is full, the oldest data is automatically overwritten. For example, when parsing the data unit with timestamp 1672531200000, the current value of 5.67 amperes is extracted and stored in the current value queue at position 001, and the voltage value of 412.3 volts is stored in the voltage value queue at position 001.
[0027] Edge nodes multiply the current and voltage values at the same timestamp to obtain the string output power value. The power calculation process is as follows: data points corresponding to the same timestamp in the current and voltage value queues are read synchronously in real time; the current value is multiplied by the voltage value to obtain the instantaneous power value; the calculation result is retained to two decimal places; the power value is bound to the corresponding timestamp to form a power data point. The power value is uniformly measured in watts, and the calculation range covers 0 watts to 15000 watts. For example, when the current value is 5.82 amperes and the voltage value is 410.5 volts, the calculated power value is 2388.51 watts, and the timestamp is bound to form a power data point.
[0028] Edge nodes perform differential operations on the output power values of consecutive timestamps to obtain a power change sequence. The differential operation includes: arranging power data points in chronological order to form a power time series; starting from the second data point, subtracting the previous power value from the current power value to obtain the difference value; and arranging the difference values in chronological order to form a power change sequence. The power change sequence is stored using signed floating-point numbers, with positive difference values indicating an increase in power and negative difference values indicating a decrease in power. For example, when three consecutive power values are 2388.51 watts, 2400.75 watts, and 2392.40 watts, the calculated difference sequence is [+12.24, -8.35].
[0029] The edge node counts the number of direction reversals in the power change sequence per unit time as the fluctuation frequency. The direction reversal determination rule is as follows: iterate through the difference values in the power change sequence, and count a direction reversal when two consecutive difference values have opposite signs; the unit time window is set to a configurable duration within the range of 5 to 15 seconds; count the total number of direction reversals within the time window; divide the total number by the number of seconds in the time window to obtain the fluctuation frequency value per second. The fluctuation frequency is measured in Hertz, and the statistical result is rounded to two decimal places. For example, if 25 direction reversals are detected within a 10-second window, the fluctuation frequency is 2.50 Hertz. Small changes with absolute values less than a set threshold are ignored when determining direction reversals; this threshold is set based on 0.2% of the rated power of the photovoltaic string.
[0030] Edge nodes calculate the fluctuation amplitude as the difference between adjacent maxima and minima in the power change sequence. The extreme point identification rule is as follows: in the power change sequence, a point is marked as a maximum when the difference changes from positive to negative; a point is marked as a minimum when the difference changes from negative to positive. The power difference between consecutive maxima and minima is calculated as the fluctuation amplitude value. A sliding window mechanism is used for fluctuation amplitude calculation, with a window size configurable from 15 to 30 data points. The fluctuation amplitude is measured in watts, and the result is taken as the absolute value. For example, if a maximum power of 2450.80 watts is detected and the adjacent minimum power of 2380.40 watts is detected, then the fluctuation amplitude is 70.40 watts.
[0031] During data processing, edge nodes employ a triple verification mechanism to ensure calculation accuracy: the first level verifies the continuity of the power change sequence, triggering data recalculation when data gaps occur; the second level monitors the rationality of the fluctuation frequency, initiating noise filtering when the number of flips within a unit time window exceeds a preset upper limit; the third level confirms the validity of the fluctuation amplitude, considering adjacent extreme points less than a set threshold as noise and not recording them. In actual deployment, edge nodes can process 3 to 8 power data points per millisecond, and the calculation results of fluctuation frequency and fluctuation amplitude are stored in the edge database.
[0032] S3. Calculate the direction angle of light intensity change between adjacent sampling points based on the ambient light intensity value, and determine the shadow movement speed vector based on the direction angle of light intensity change. Specifically, the implementation is as follows: Edge nodes acquire ambient light intensity values from three consecutive sampling points. These values originate from the raw data stream collected by the terminal device. Each sampling point contains a timestamp accurate to milliseconds and a measured light intensity value. The acquisition process includes: reading the time-sorted ambient light intensity sequence from the edge database; taking two consecutive historical sampling points backwards from the current sampling point to form a three-point sequence; verifying the uniformity of the time interval between the three sampling points. When the time difference between adjacent sampling points exceeds ±20% of the standard sampling period, an interpolation mechanism is triggered to generate virtual sampling points that conform to the time interval. The standard sampling period is determined based on the S1 terminal device configuration and ranges from 100 milliseconds to 500 milliseconds. For example, acquiring light intensity values of [856, 802, 745] watts per square meter in the timestamp sequence [1672531200000, 1672531200100, 1672531200200] milliseconds.
[0033] The edge node calculates the difference in illumination intensity between the second and first sampling points as the first directional component. The calculation process is as follows: subtract the illumination intensity value of the sampling point at index 1 from the illumination intensity value of the sampling point at index 2 in the three-point sequence to obtain the first directional component. The first directional component is expressed in watts per square meter (W / m²), retaining a signed floating-point value; a positive value indicates increased illumination, and a negative value indicates decreased illumination. Data validity is verified before calculation. If the illumination intensity value of any sampling point exceeds the range of 0 W / m² to 1500 W / m², the three-point sequence is discarded, and the system waits for the next set of data. For example, subtracting the second sampling point's 856 W / m² from the first sampling point's 802 W / m² yields the first directional component -54 W / m².
[0034] The edge node calculates the difference in illumination intensity between the third and second sampling points as the second directional component. The calculation process is as follows: subtract the illumination intensity value of the sampling point at index 2 from the illumination intensity value of the sampling point at index 3 in the three-point sequence to obtain the second directional component. The second directional component uses the same dimensions and storage format as the first directional component, and both jointly characterize the spatiotemporal gradient features of illumination intensity changes. Abnormal fluctuations are automatically filtered during the calculation process. For example, when the illumination intensity jump between adjacent sampling points exceeds 300 watts per square meter, it is determined to be interference from rapidly changing cloud cover, and the three-point sequence needs to be re-acquired. For example, subtracting the second sampling point's 802 watts per square meter from the third sampling point's 745 watts per square meter yields the second directional component -57 watts per square meter.
[0035] Edge nodes perform arctangent calculations on the first and second direction components to obtain the direction angle of light intensity change. The arctangent calculation uses a two-parameter arctangent function, with the first and second direction components as input parameters and the angle value as the output. The specific calculation process is as follows: the first direction component is used as the Y-axis component of a Cartesian coordinate system, and the second direction component as the X-axis component; the ratio of the Y component to the X component is calculated; this ratio is then subjected to a four-quadrant arctangent calculation to obtain an angle value ranging from -180 degrees to +180 degrees; the angle values are then uniformly converted to a representation from 0 degrees to 360 degrees. The direction angle of light intensity change is retained to one decimal place, representing the azimuth angle of shadow movement. For example, when the first direction component is -54 and the second direction component is -57, the calculated direction angle of light intensity change is 225.0 degrees.
[0036] Edge nodes determine the shadow movement angular velocity by dividing the angular change of two consecutive illumination intensity change direction angles by the corresponding time interval. Specifically, this includes: obtaining the currently calculated illumination intensity change direction angle and the previously calculated illumination intensity change direction angle; calculating the difference between the two angle values; when the difference exceeds 180 degrees, subtracting 360 degrees from the difference for circular correction; when the difference is less than -180 degrees, adding 360 degrees to the difference for circular correction; obtaining the timestamps corresponding to the two calculations and calculating the time interval in seconds; and dividing the angle difference by the time interval to obtain the shadow movement angular velocity. The dimension of the shadow movement angular velocity is degrees per second, rounded to one decimal place. For example, if the previous direction angle was 220.0 degrees, the current angle is 225.0 degrees, and the time interval is 1.0 second, then the shadow movement angular velocity is 5.0 degrees per second.
[0037] Edge nodes use the direction angle of light intensity change as the direction of shadow movement, and combine this with the shadow movement angular velocity to construct a shadow movement velocity vector. The construction process includes: using the direction angle of light intensity change as the vector's direction parameter; using the absolute value of the shadow movement angular velocity as the vector's magnitude; and storing the vector data in polar coordinates, containing two fields: direction angle and magnitude. The shadow movement velocity vector is updated every 200 milliseconds, and a calculation timestamp is recorded. For example, when the direction angle of light intensity change is 225.0 degrees and the shadow movement angular velocity is 5.0 degrees per second, the shadow movement velocity vector is constructed as {direction angle: 225.0, magnitude: 5.0}.
[0038] Data smoothing is implemented during vector construction: a sliding window averaging method is used, with a window size of 3 to 8 historical vector data points; moving averages of the orientation angle and magnitude are calculated; when the deviation of the new vector from the average exceeds 15%, an anomaly detection mechanism is triggered to recalculate the three-point sequence. In practical applications, the installation spacing of the light intensity sensors is 5 to 10 meters, the orientation angle calculation error is less than 3 degrees, and the angular velocity measurement range covers 0.1 degrees per second to 30 degrees per second.
[0039] S4. When the fluctuation frequency exceeds the set threshold, based on the fluctuation amplitude and the angle between the direction of the shadow movement speed vector and the photovoltaic string arrangement direction, calculate the boundary transition time for near-vertical shadow coverage and the shadow dwell time for near-parallel shadow movement to generate adaptive sampling rules. The specific implementation is as follows: When an edge node detects a fluctuation frequency exceeding a set threshold, it generates an adaptive sampling rule based on the fluctuation amplitude and the angle between the direction of the shadow movement speed vector and the photovoltaic string arrangement direction. The set threshold is determined through historical data analysis. Specifically, it involves collecting fluctuation frequency data of the photovoltaic strings over 30 consecutive days in sunny weather; calculating their statistical distribution characteristics; taking the 95th percentile as the threshold baseline; and then multiplying it by a correction factor of 1.2 to 1.8. For example, if the 95th percentile of historical data is 1.8 Hz, the set threshold is configured to be 2.16 Hz. This threshold is stored in the edge node's non-volatile memory and is automatically updated every 30 days based on newly collected operational data.
[0040] The edge node calculates the angle between the direction of the shadow movement velocity vector and the photovoltaic string arrangement direction. The specific process includes: obtaining the latest calculated direction angle component of the shadow movement velocity vector from the edge database (generated in step S3 and updated every 200 milliseconds); reading the preset direction angle of the photovoltaic string arrangement direction from the photovoltaic power station configuration database (obtained during power station construction using a total station, with an accuracy of 0.1 degrees); calculating the algebraic difference between the vector direction angle component and the preset direction angle; and taking the absolute value of the difference as the final angle. The angle is measured in degrees, and the calculation result is rounded to one decimal place. The calculation process includes angle normalization: when the difference exceeds 180 degrees, 360 degrees are subtracted; when the difference is less than -180 degrees, 360 degrees are added. For example, when the shadow movement velocity vector direction angle is 225.0 degrees and the photovoltaic string arrangement direction angle is 210.0 degrees, the calculated angle is 15.0 degrees.
[0041] When the included angle exceeds the vertical judgment threshold, the edge node is determined to be near-vertical shadow coverage. The vertical judgment threshold is set to a range of 70 to 85 degrees, with the specific value determined based on the aspect ratio of the photovoltaic string: 70 degrees is used when the string length is greater than 3 times the width, and 85 degrees is used when it is less than 2 times the width. The formula for calculating the boundary transition time is: the length of the photovoltaic string divided by the magnitude of the shadow movement speed vector. The length of the photovoltaic string is obtained from the power plant asset management system, with a standard value of 1.6 meters to 2.0 meters; the magnitude is taken from the magnitude field of the shadow movement speed vector. The boundary transition time is measured in seconds, with two decimal places retained. Before calculation, the validity of the magnitude is verified: when the magnitude is less than 0.05 meters per second, the average of the most recent 10 valid magnitudes is used instead. For example, when the string length is 1.8 meters and the magnitude is 0.5 meters per second, the boundary transition time is 3.60 seconds.
[0042] When the included angle is less than the parallelism threshold, the edge node is judged as a near-parallel shadow movement. The parallelism threshold is set to a range of 5 to 15 degrees, specifically adjusted according to the arrangement density of the photovoltaic array: 15 degrees when the string spacing is less than 0.5 meters, and 5 degrees when it is greater than 1 meter. The formula for calculating the shadow dwell time is: the length of the photovoltaic string multiplied by the cosine of the included angle, then divided by the magnitude of the shadow movement velocity vector. The cosine value is calculated as follows: first, the angle value is converted to a radian value (radian = angle × π / 180); then the cosine function in the math library is called to calculate it. For example, when the string length is 1.8 meters, the included angle is 10.0 degrees (corresponding to 0.1745 radians, cosine value 0.9848), and the magnitude is 0.3 meters per second, the shadow dwell time is 5.91 seconds.
[0043] Edge nodes set the resampling time window length based on the boundary transition time or shadow dwell time. The initial value of the resampling time window length is equal to the boundary transition time or shadow dwell time; dynamic range constraints are set: an upper limit of 15 seconds and a lower limit of 0.3 seconds; when the calculation result exceeds the upper limit, it takes 15 seconds, and when it is below the lower limit, it takes 0.3 seconds. The time window length is stored in milliseconds, and the conversion formula is millisecond value = second value × 1000. The window length configuration follows the principle of "complete coverage of shadow events", specifically achieved by adding a 20% buffer time: final window length = calculated value × 1.2. For example, when the basic calculated value is 3.60 seconds, the final window length is 4320 milliseconds.
[0044] Edge nodes adjust the resampling time window length based on fluctuation amplitude to generate adaptive sampling rules. The adjustment rule is as follows: obtain the current fluctuation amplitude value from step S2; query the rated power parameters of the photovoltaic string; calculate the relative value of the fluctuation amplitude = (fluctuation amplitude / rated power) × 100%; when the relative value exceeds 10%, the time window length is shortened to 80% of the original value; when the relative value is below 5%, the time window length is extended to 130% of the original value; when the relative value is between 5% and 10%, the original value is maintained. The adjusted time window length is bound to the current timestamp, forming an adaptive sampling rule containing three parameters: start timestamp (current system time), end timestamp (start time + window length), and sampling interval (window length / 50). For example, when the window length is 4320 milliseconds, the sampling interval is 86.4 milliseconds, rounded to 90 milliseconds, generating the rule {start:1672531200000, end:1672531204320, interval:90}.
[0045] A triple-check mechanism is implemented during rule generation: The first level checks the validity of the shadow movement speed vector, triggering an alert when the modulus value remains below 0.1 meters per second for 5 consecutive minutes; the second level checks the rationality of the included angle, automatically converting it to a supplementary angle (supplementary angle = 180 degrees - included angle) when the included angle is greater than 90 degrees; the third level checks the physical rationality of the calculation results, initiating manual review when the boundary transition time exceeds 30 minutes or the shadow dwell time is less than 0.1 seconds. In actual deployment, adaptive sampling rules are stored in the edge node's in-memory database in JSON format, containing the following fields: rule number, effective timestamp, time window in milliseconds, sampling interval in milliseconds, and associated string number. Each rule has a maximum validity period of 60 minutes, after which it is automatically regenerated.
[0046] To ensure robustness under extreme weather conditions, a fallback mechanism is implemented: if rule generation fails three times consecutively, the default sampling rule (fixed 500 millisecond interval) is activated; rule updates are paused when ambient light intensity remains below 200 watts per square meter. The maintenance process for photovoltaic string length parameters includes: updating the configuration database during power plant expansion; verifying dimensions on-site every six months; and allowing a ±5% measurement error tolerance. The adaptive sampling rule generation frequency is 1–3 times per minute, dynamically adjusted based on the shadow movement speed: 3 times per minute when the modulus is greater than 1 meter per second, and 1 time per minute when it is less than 0.3 meters per second.
[0047] S5. Resample the original data stream according to the adaptive sampling rule to generate a continuous dataset. The specific implementation is as follows: Edge nodes determine the resampling time window length based on adaptive sampling rules. The specific implementation process includes: reading the adaptive sampling rules generated in step S4 from the edge database; parsing the time window length field in the rules; converting the time window length value from milliseconds to microseconds; and calculating the start and end times of the window based on the current system timestamp. The time window length is dynamically constrained: 0.3 seconds is used when the window length in the rule is less than 0.3 seconds, and 15 seconds is used when it is greater than 15 seconds; when a rule exceeds its 60-minute validity period, a valid rule generated within the last 60 minutes is automatically used. For example, when parsing the rule {start timestamp: 1672531200000, end timestamp: 1672531204320, sampling interval: 90}, the time window length is determined to be 4320 milliseconds.
[0048] Edge nodes divide the original data stream into time periods based on the resampling time window length. The division process includes: obtaining the earliest and latest timestamps in the original data stream; using the start timestamp of the adaptive sampling rule as a reference, dividing the data into consecutive time periods according to the time window length; the start time of each time period is Tstart, and the end time is Tstart + window length; a 5% overlap buffer is set between time periods to avoid loss of boundary data. When there is a time discontinuity in the original data stream, a data completion mechanism is triggered: expanding the window length by 10% both forward and backward to retrieve adjacent data points. For example, the first time period is divided at timestamp 1672531200000, with a time range from 1672531200000 milliseconds to 1672531204320 milliseconds.
[0049] Edge nodes perform linear interpolation on the current, voltage, and ambient light intensity values of the photovoltaic strings within each time period. The specific processing steps are as follows: Within the time period [Tstart, Tend] (Tend is the end time), generate an equally spaced time point sequence according to the sampling interval of the adaptive sampling rule; for each time point Ti, where i is the time point number, locate the adjacent data points in the original data stream: the previous point (Ta, Va) and the subsequent point (Tb, Vb); calculate the interpolation weight coefficient: weight coefficient = (Ti - Ta) / (Tb - Ta); apply the linear interpolation formula: Vi = Va + (Vb - Va) × weight coefficient; interpolate the current, voltage, and light intensity values independently. The interpolation process includes data validity verification: when Tb - Ta > 3 times the standard sampling period, it is determined that the data interval is too large, and piecewise linear interpolation is used instead; when more than 50% of the original data points are missing, that time period is skipped. For example, at time 1672531200100 milliseconds, the original data has a previous point (1672531200000 milliseconds, 5.67 amps) and a subsequent point (1672531200200 milliseconds, 5.70 amps), and the interpolated current value is 5.685 amps.
[0050] Where Ta represents the previous valid raw data timestamp (in milliseconds) at time point Ti; Va represents the raw measurement value (current / voltage / illuminance) at time Ta; Tb represents the next valid raw data timestamp (in milliseconds) at time point Ti; and Vb represents the raw measurement value at time Tb.
[0051] Edge nodes arrange the interpolated current, voltage, and ambient light intensity values in chronological order. The arrangement operation includes: creating a time-sorted queue; inserting the interpolated data in ascending order of time points; maintaining the time series index using a balanced binary tree data structure; and controlling the time complexity to O(log n) for 1000 insertion operations per second. When timestamp conflicts occur (intervals less than 1 microsecond), average merging is performed: the arithmetic mean of the conflicting data points is taken as the new value. The arranged data sequence is stored in a memory cache, which supports storing one hour of data. Persistent storage is triggered when the cache reaches 80% capacity.
[0052] Edge nodes bind current, voltage, and ambient light intensity values with the same timestamp as data units. The binding process involves: extracting the three types of data with the same timestamp from the sorted sequence; verifying data validity according to the following rules: current values must be in the range of 0 to 15 amps, voltage values must be in the range of 0 to 1000 volts, and ambient light intensity must be in the range of 0 to 1500 watts per square meter; encapsulating the valid data into a binary structure containing four fields: a 64-bit timestamp field, a 16-bit current value field, a 16-bit voltage value field, and a 16-bit ambient light intensity value field; and adding a CRC8 checksum. For example, timestamp 1672531200100 milliseconds binds a current value of 5.685 amps, a voltage value of 412.15 volts, and an ambient light intensity value of 832 watts per square meter, encapsulated as a binary data unit.
[0053] Edge nodes are joined sequentially with consecutive data units to form a continuous dataset. The join operation includes: initializing a circular output buffer; writing data units to the buffer in timestamp order; initiating disk writing when the buffer reaches 80% capacity; and using a columnar storage format for disk storage, with each data unit stored separately by field. A global metadata header is added to the continuous dataset, containing: dataset identifier, start timestamp, end timestamp, sampling interval, and number of data units. For example, joining 1000 data units forms a dataset with a time range of 1672531200000 milliseconds to 1672531209000 milliseconds, with a sampling interval of 90 milliseconds.
[0054] A quality control system is implemented during the dataset generation process: The first level verifies time continuity; anomalies are marked when the time difference between adjacent data units and the sampling interval deviates by more than 10%. The second level verifies numerical rationality; an alarm is triggered when the correlation coefficient between the product of current and voltage values and light intensity is below 0.7. The third level verifies data integrity, generating an MD5 checksum every hour. The dataset storage employs a dual-copy mechanism: the primary copy resides on the solid-state drives of edge nodes, while the backup copy is uploaded to cloud object storage.
[0055] To ensure real-time performance, dynamic resource allocation is implemented: when data processing latency exceeds 20% of the window length, additional computing resources are automatically allocated; when CPU utilization consistently exceeds 80%, a data downsampling mode is activated, doubling the sampling interval. The continuous dataset output interface supports two modes: real-time streaming mode pushes data every 10 data units; batch mode generates compressed data packets every minute. Data packet compression uses a lossless compression algorithm, with a compression ratio controlled between 50% and 70%.
[0056] To handle extreme cases, a safety protection mechanism is implemented: if three consecutive datasets fail to be generated, the system switches to pass-through mode, directly outputting the raw data stream as a continuous dataset; if the ambient light intensity remains below 50 watts per square meter for 10 consecutive minutes, resampling is paused. Numerical smoothing is added to the data unit binding process: a three-point moving average filter is applied to current and voltage values, with a window size of three consecutive data points. The storage period for continuous datasets is adjustable from 7 to 30 days; data exceeding the storage period is automatically archived to a long-term storage system.
[0057] S6. Analyze the spatiotemporal correlation of fluctuations in adjacent photovoltaic strings in continuous datasets to determine the direction and speed of disturbance propagation, and mark key photovoltaic string nodes. The specific implementation is as follows: Edge nodes extract the output power time series of adjacent photovoltaic (PV) strings from a continuous dataset. The specific implementation process includes: reading data from the storage area of the continuous dataset generated in step S5; determining the physical location relationship of adjacent strings based on the PV array topology; extracting the power data of each pair of adjacent strings in positional order; each power time series contains a power value sequence with a fixed sampling interval, and the sequence length is uniformly truncated to 1000 data points. The rules for determining adjacent strings are: they have the same row number and adjacent column number, or the same column number and adjacent row number; the string spacing is obtained from the power plant configuration database, ranging from 0.5 meters to 2 meters. For example, the output power time series of strings A-01 and A-02 are extracted, with a time range of 1672531200000 milliseconds to 1672531209000 milliseconds and a sampling interval of 90 milliseconds.
[0058] Edge nodes calculate the cross-correlation coefficient sequence of the output power time series of adjacent photovoltaic strings. The calculation process includes: standardizing the two power time series by subtracting the mean from each series and dividing by its standard deviation; setting a sliding time window with a size of one-fifth of the series length (200 data points); moving the window within a time offset range of -100 to +100 sampling intervals; calculating the cross-correlation coefficient ρ(τ) for each offset τ using the formula: for each time offset τ, calculate the product of the covariance of the two series in the overlapping portion, divided by their respective standard deviations, and then divided by the number of overlapping data points minus the number of absolute offsets; generating a cross-correlation coefficient sequence with a length of 201 points. The calculation process includes data preprocessing: when there are missing values in the sequence, linear interpolation of the preceding and following data points is used to fill in the missing values; sequences with a variance less than 0.1 are considered invalid. The cross-correlation coefficients are preserved to four decimal places, and the calculation time is controlled within 50 milliseconds. For example, when calculating the cross-correlation coefficient sequence of strings A-01 and A-02, a peak value of 0.8723 is obtained at a time offset of -10.
[0059] Edge nodes identify the time offset corresponding to the maximum value in a cross-correlation coefficient sequence. The identification algorithm includes: traversing all values in the cross-correlation coefficient sequence; recording the maximum value and its index position; subtracting 101 from the index position to obtain the actual time offset, since sequence index 0 corresponds to a time offset of -100; when multiple equal peaks exist, the peak with the smallest absolute time offset is selected. The unit of time offset is the number of sampling intervals, which can be converted to a millisecond value: Time offset in milliseconds = Time offset × Sampling interval. For example, when the peak appears at index 111, corresponding to an offset of +10, and the sampling interval is 90 milliseconds, the time offset is +900 milliseconds.
[0060] Edge nodes calculate the disturbance propagation speed based on the time offset and the physical spacing between adjacent photovoltaic strings. The calculation formula is: propagation speed equals the physical spacing divided by the absolute value of the time offset in milliseconds, then multiplied by 1000. The physical spacing is in meters, and the time offset in milliseconds is converted to seconds by dividing by 1000; the propagation speed is measured in meters per second, with two decimal places. Before calculation, the validity of the time offset is verified: an absolute value greater than 300 sampling intervals is considered abnormal; when physical spacing data is missing, the average array spacing value is used. For example, with a physical spacing of 1.2 meters and a time offset of ±900 milliseconds, the propagation speed is 1.33 meters per second.
[0061] Edge nodes determine the perturbation propagation direction based on the order in which the maximum cross-correlation coefficients appear. The determination rule is: in a photovoltaic array, if the peak cross-correlation coefficient first appears in the upstream string pair and then in the downstream string pair, the propagation direction is from upstream to downstream; the upstream direction is defined as the direction of decreasing photovoltaic array number. Specific implementation includes: establishing a string pair relationship matrix; marking the peak correlation coefficient timestamps of each pair of adjacent string pairs; arranging the string pairs in ascending order of timestamps; and defining the propagation direction as the spatial direction corresponding to the increasing timestamp. For example, if the peak values of string pairs A-01 and A-02 are detected at timestamp T1, and the peak values of string pairs A-02 and A-03 are detected at timestamp T2, and T2 is greater than T1, then the propagation direction is from A-01 to A-02 to A-03.
[0062] Edge nodes mark strings whose cross-correlation coefficients exceed a correlation threshold in the perturbation propagation path as critical photovoltaic string nodes. The correlation threshold is set as follows: the 75th percentile of the maximum cross-correlation coefficient for all strings in the array is taken; the threshold is dynamically adjusted between 0.6 and 0.9. The marking process includes: traversing each string in the propagation path; checking whether the cross-correlation coefficient between the string and its adjacent strings exceeds the threshold; when three consecutive strings exceed the threshold, the middle string is marked as a critical node. The critical node information is stored as a structure containing four fields: string number, marking timestamp, correlation coefficient value, and propagation direction, and written to the critical node table in the edge database. For example, string A-02 has a correlation coefficient of 0.8723 and a threshold of 0.8, so it is marked as a critical node.
[0063] Quality optimization is implemented during the marking process: when the same string is marked more than 3 times within 10 minutes, its criticality level is increased; when the turning angle of the propagation path is greater than 45 degrees, a special mark is added to the string at the turning point. Critical node data is uploaded to the cloud analysis platform in batches every 5 minutes, with a storage period of 30 days. To verify accuracy, a reverse verification mechanism is set up: when the calculated propagation speed exceeds 10 meters per second, the original data timestamp is re-verified; when the marking ratio exceeds 50% of the array, a manual review process is triggered. Applications of critical nodes include: increasing the weight of critical node data by 30% when generating string health status reports; prioritizing the use of critical node data in power prediction models; and triggering on-site maintenance work orders when critical nodes are continuously abnormal. The system supports visualization of critical nodes, highlighting them in red on the power plant topology map and annotating them with propagation speed vector arrows.
[0064] S7. Upload the continuous dataset of key photovoltaic string nodes to the cloud platform. The specific implementation is as follows: Edge nodes acquire the identifiers of key photovoltaic string nodes. The specific implementation process includes: reading the latest marked record from the key node table generated in step S6; extracting the string number field from the record as the node identifier; the node identifier format is "array number-row number-column number", for example, "A-02-03"; and simultaneously acquiring the node's marked timestamp. Node identifiers are acquired once per minute, with each acquisition window covering marked records from the most recent 5 minutes. When no new marker is detected, the node identifier set from the previous period is used, and an expiration flag is added. Node identifiers are stored in the edge node's memory cache, with a cache validity period of 10 minutes. For example, the identifier information for node "A-02-03" is acquired at timestamp 1672531200000 milliseconds.
[0065] Edge nodes extract current, voltage, and ambient light intensity values corresponding to key photovoltaic string node identifiers from continuous datasets. The extraction process includes: locating the corresponding data in the continuous dataset storage area based on the node identifier; filtering the data by time range (5 minutes before to 10 minutes after the marked timestamp); and extracting fields including a 64-bit timestamp, a 16-bit current value, a 16-bit voltage value, and a 16-bit ambient light intensity value. Data extraction follows an integrity check: when missing data exceeds 20%, the extraction time range is extended forward until the missing rate is below 10%. For example, for node "A-02-03", a complete data sequence from timestamp 1672531200000 milliseconds to 1672531215000 milliseconds is extracted, containing 1000 data points.
[0066] Edge nodes encapsulate the extracted current, voltage, and ambient light intensity values into data packets. The encapsulation process involves: constructing a data packet header, including a 1-byte protocol version number, a 1-byte node identifier length (variable-length string), and a 2-byte number of data points; arranging data units in chronological order, with each unit containing an 8-byte timestamp, a 2-byte current value, a 2-byte voltage value, and a 2-byte illumination value; calculating a 4-byte CRC32 checksum for the data body; and adding a 4-byte sequence number and a 4-byte total packet length. The maximum data packet size is limited to 1024 bytes; exceeding this size results in automatic packet fragmentation, with equal segmentation based on chronological order. For example, encapsulating 500 data units generates three consecutive data packets with sequence numbers 0001, 0002, and 0003.
[0067] Edge nodes transmit data packets to the cloud platform via IoT communication protocols. The transmission protocol uses Message Queuing Telemetry Transport Protocol version 3.1.1, with configuration parameters including: a server address consisting of a specific domain name and port number, such as cloud.pv-monitor.com:1883; a client identifier using the edge node's media access control address; a topic path of / keynodes / followed by the array number; and a service quality level of 1, indicating at least one delivery. A retransmission mechanism is implemented during transmission: a 2000-millisecond timer is started after transmission; if no acknowledgment signal is received, retransmission is performed using an exponential backoff strategy, with retransmission intervals of 200 milliseconds, 400 milliseconds, and 800 milliseconds; after three consecutive failures, transmission switches to the Hypertext Transfer Protocol (HTTP) backup channel. For example, when transmitting data packet 0001, an acknowledgment signal is received 800 milliseconds after the first transmission, marking the transmission as successful.
[0068] A key photovoltaic string node identifier and data packet association storage system is established on the cloud platform. The storage process includes: parsing the node identifier in the data packet header; creating storage partitions in the time-series database, with partition naming conventions of node identifier plus underscore plus year; storing data units by column, including timestamp, current, voltage, and illumination columns; establishing a two-level index: the primary index uses a B+ tree structure with the node identifier plus timestamp range, and the secondary index uses a bitmap index for illumination intensity segments; updating the metadata registry to record the latest data packet reception timestamp, number of data points, and storage path. Data compression is implemented in the associated storage: current and voltage values use incremental encoding compression with an accuracy of 0.01 amperes and 0.01 volts, respectively; illumination values use lossy compression, allowing an error of ±5 watts per square meter. The storage system is configured with a retention policy: high-frequency data is retained for 7 days (high frequency defined as a sampling interval of less than 1 second); low-frequency data is retained for 365 days (low frequency defined as a sampling interval greater than or equal to 1 second). For example, the data for node "A-02-03" is stored in partition "A-02-032023", and the data from milliseconds 1672531200000 to 1672531215000 milliseconds can be retrieved using the index.
[0069] To ensure data integrity, a three-level verification mechanism is implemented: Level 1 is at the edge, where a 32-bit cyclic redundancy check (CRC) checksum is calculated before data packets are sent; Level 2 is at the transport layer, where the message queue telemetry transmission protocol has built-in data integrity verification; Level 3 is in the cloud, where the checksum is recalculated before being written to the database. When the verification failure rate exceeds 1%, a data repair process is automatically triggered: data is backed up synchronously from adjacent edge nodes. The cloud platform provides a real-time query interface, supporting two access modes: instant query mode inputs the node identifier plus a timestamp, returning a single data unit; range query mode inputs the node identifier plus a time range, returning a data stream. Query response time is guaranteed to be less than 50 milliseconds for a single-point query and less than 5 seconds for a range query of 100,000 points. The data packet storage format is consistent with the application programming interface (API) response format, including fields: status code, node identifier, time range, and data point list.
[0070] Data security is implemented during cloud storage: sensitive fields are encrypted, with current and voltage values encrypted using advanced encryption standards; access control is implemented, assigning different data access levels to different user roles; and operation audit logs are established to record all data access and modification operations. Data archiving strategies include: transferring data exceeding its retention period to low-cost object storage; and creating data snapshots, generating a full data snapshot every 24 hours. For example, when a user queries a data entry, they need to obtain an access token after authentication, with the token valid for 30 minutes.
[0071] Example 2: Figure 2 A schematic diagram of the structure of a photovoltaic cloud-edge-device collaborative data management system according to the present invention is provided. The photovoltaic cloud-edge-device collaborative data management system includes: The terminal acquisition module is used to collect the current value, voltage value and ambient light intensity value of the photovoltaic string through the terminal device to form a raw data stream; The fluctuation extraction module is used to extract the fluctuation frequency and fluctuation amplitude of the string output power in the raw data stream at the edge node; The shadow calculation module is used to calculate the direction angle of light intensity change between adjacent sampling points based on the ambient light intensity value, and to determine the shadow movement speed vector based on the direction angle of light intensity change. The adaptive module is used to generate adaptive sampling rules by calculating the boundary transition time for near-vertical shadow coverage and the shadow dwell time for near-parallel shadow movement, based on the fluctuation amplitude and the angle between the direction of the shadow movement speed vector and the photovoltaic string arrangement direction. The resampling module is used to resample the original data stream according to adaptive sampling rules to generate a continuous dataset; The node labeling module is used to analyze the spatiotemporal correlation of fluctuations in adjacent photovoltaic strings in a continuous dataset, determine the direction and speed of disturbance propagation, and label key photovoltaic string nodes. The cloud upload module is used to upload continuous datasets of key photovoltaic string nodes to the cloud platform.
[0072] All calculations involved in the embodiments are dimensionless numerical calculations, and the preset parameters and thresholds in the calculations are set by those skilled in the art according to the actual situation.
[0073] It should be noted that this invention can be deployed on the device itself to realize embedded applications, or it can run on a PC or other terminal with a user interface, thereby meeting various hardware environments and usage requirements.
[0074] The above embodiments can be implemented, in whole or in part, by software, hardware, firmware, or any other combination thereof. When implemented using software, the above embodiments can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wireless or wired transmission; wired transmission methods include optical fiber, twisted pair, coaxial cable, etc.; wireless transmission includes infrared, microwave, etc. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center containing one or more sets of available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium. A semiconductor medium can be a solid-state drive.
[0075] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and modules described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0076] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or modules may be electrical, mechanical, or other forms.
[0077] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0078] In addition, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module.
[0079] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0080] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
[0081] In conclusion, the above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A data management method for photovoltaic cloud-edge-device collaboration, characterized in that, include: S1. The terminal equipment collects the current value, voltage value and ambient light intensity value of the photovoltaic string to form a raw data stream; S2. Edge nodes extract the fluctuation frequency and fluctuation amplitude of the string output power in the original data stream; S3. Calculate the direction angle of light intensity change between adjacent sampling points based on the ambient light intensity value, and determine the shadow movement speed vector based on the direction angle of light intensity change; S4. When the fluctuation frequency exceeds the set threshold, based on the fluctuation amplitude and the angle between the direction of the shadow movement speed vector and the photovoltaic string arrangement direction, calculate the boundary transition time for near-vertical shadow coverage and the shadow dwell time for near-parallel shadow movement to generate adaptive sampling rules. S5. Resample the original data stream according to the adaptive sampling rules to generate a continuous dataset; S6. Analyze the spatiotemporal correlation of fluctuations in adjacent photovoltaic strings in a continuous dataset to determine the direction and speed of disturbance propagation, and mark key photovoltaic string nodes; S7. Upload the continuous dataset of key photovoltaic string nodes to the cloud platform.
2. The photovoltaic cloud-edge-device collaborative data management method according to claim 1, characterized in that, The terminal equipment collects the current, voltage, and ambient light intensity values of the photovoltaic strings to form a raw data stream, including: The DC current value of the photovoltaic string is periodically obtained through a current sensor; The DC voltage value of the photovoltaic string is periodically obtained through a voltage sensor; The ambient light intensity value of the area where the photovoltaic string is located is periodically obtained by a light intensity sensor; Bind the DC current value, DC voltage value, and ambient light intensity value marked with the same timestamp into a data unit; Arranging consecutive data units in chronological order forms the original data stream.
3. The photovoltaic cloud-edge-device collaborative data management method according to claim 1, characterized in that, Edge nodes extract the fluctuation frequency and amplitude of string output power in the raw data stream, including: Separate the current and voltage values of the photovoltaic strings from the raw data stream; The string output power value is obtained by multiplying the current value and voltage value at the same timestamp. A power change sequence is obtained by performing a differential operation on the output power values of consecutive timestamps. The number of times the direction of change reverses in the power change sequence per unit time is used as the fluctuation frequency. The difference between adjacent maxima and minima in the power change sequence is calculated as the fluctuation amplitude.
4. The photovoltaic cloud-edge-device collaborative data management method according to claim 1, characterized in that, The direction angle of light intensity change between adjacent sampling points is calculated based on the ambient light intensity value, and the shadow movement velocity vector is determined based on the direction angle of light intensity change, including: Obtain the ambient light intensity values at three consecutive sampling points; The difference in illumination intensity between the second sampling point and the first sampling point is calculated as the first directional component. The difference in illumination intensity between the third sampling point and the second sampling point is calculated as the second directional component. The direction angle of light intensity change is obtained by performing arctangent calculation on the first and second directional components. The shadow movement angular velocity is determined by dividing the angular change of two consecutive light intensity change directions by the corresponding time interval. The direction angle of change in light intensity is used as the direction of shadow movement, and the shadow movement velocity vector is constructed by combining the shadow movement angular velocity.
5. The photovoltaic cloud-edge-device collaborative data management method according to claim 1, characterized in that, When the fluctuation frequency exceeds a set threshold, based on the fluctuation amplitude and the angle between the direction of the shadow movement speed vector and the photovoltaic string arrangement direction, the boundary transition time for near-vertical shadow coverage and the shadow dwell time for near-parallel shadow movement are calculated to generate adaptive sampling rules, including: Calculate the angle between the direction of the shadow movement velocity vector and the direction of the photovoltaic string arrangement; When the included angle is greater than the vertical determination threshold, it is determined to be near-vertical shadow coverage. The boundary transition time is calculated as the length of the photovoltaic string divided by the magnitude of the shadow movement speed vector. When the included angle is less than the parallel judgment threshold, it is judged as a near parallel shadow movement. The shadow dwell time is calculated by multiplying the length of the photovoltaic string by the cosine of the included angle and then dividing by the magnitude of the shadow movement speed vector. Set the resampling time window length based on the boundary transition time or shadow dwell time; Adaptive sampling rules are generated by adjusting the resampling time window length based on the fluctuation amplitude.
6. The photovoltaic cloud-edge-device collaborative data management method according to claim 5, characterized in that, The angle between the direction of the shadow movement velocity vector and the photovoltaic string arrangement direction is calculated as follows: Obtain the direction angle component of the shadow movement velocity vector; Obtain the preset orientation angle of the photovoltaic string arrangement direction; Calculate the difference between the angular component of the shadow movement velocity vector and the preset angular component of the photovoltaic string arrangement direction; The absolute value of the difference is taken as the angle between the direction of the shadow movement velocity vector and the direction of the photovoltaic string arrangement.
7. The photovoltaic cloud-edge-device collaborative data management method according to claim 1, characterized in that, The original data stream is resampled according to adaptive sampling rules to generate a continuous dataset, including: The resampling time window length is determined based on adaptive sampling rules; Divide the original data stream into time periods based on the length of the resampling time window; Linear interpolation is performed on the current, voltage, and ambient light intensity values of the photovoltaic string within each time period. Arrange the interpolated current values, voltage values, and ambient light intensity values in chronological order; The current value, voltage value, and ambient light intensity value bound to the same timestamp are used as data units; A continuous dataset is formed by connecting consecutive data units in chronological order.
8. The photovoltaic cloud-edge-device collaborative data management method according to claim 1, characterized in that, Analyzing the spatiotemporal correlation of fluctuations in adjacent photovoltaic strings within a continuous dataset determines the direction and speed of disturbance propagation, and identifies key photovoltaic string nodes, including: Extract the time series of output power of adjacent photovoltaic strings in a continuous dataset; Calculate the cross-correlation coefficient sequence of the time series of output power of adjacent photovoltaic strings; Identify the time offset corresponding to the maximum value in the cross-correlation coefficient sequence; The disturbance propagation speed is calculated based on the time offset and the physical spacing between adjacent photovoltaic strings; The direction of disturbance propagation is determined by the order in which the maximum values of the cross-correlation coefficients appear. Strings whose cross-correlation coefficients exceed the correlation threshold in the disturbance propagation path are marked as key photovoltaic string nodes.
9. The photovoltaic cloud-edge-device collaborative data management method according to claim 1, characterized in that, Upload continuous datasets of key photovoltaic string nodes to the cloud platform, including: Obtain the key photovoltaic string node identifiers for marking; Extract the current, voltage, and ambient light intensity values corresponding to the key photovoltaic string node identifiers from the continuous dataset; The extracted current value, voltage value, and ambient light intensity value are encapsulated into a data packet; Data packets are transmitted to the cloud platform via IoT communication protocols; Establish an association between key photovoltaic string node identifiers and data packets on a cloud platform.
10. A photovoltaic cloud-edge-device collaborative data management system, used to implement the photovoltaic cloud-edge-device collaborative data management method according to any one of claims 1-9, characterized in that, include: The terminal acquisition module is used to collect the current value, voltage value and ambient light intensity value of the photovoltaic string through the terminal device to form a raw data stream; The fluctuation extraction module is used to extract the fluctuation frequency and fluctuation amplitude of the string output power in the raw data stream at the edge node; The shadow calculation module is used to calculate the direction angle of light intensity change between adjacent sampling points based on the ambient light intensity value, and to determine the shadow movement speed vector based on the direction angle of light intensity change. The adaptive module is used to generate adaptive sampling rules by calculating the boundary transition time for near-vertical shadow coverage and the shadow dwell time for near-parallel shadow movement, based on the fluctuation amplitude and the angle between the direction of the shadow movement speed vector and the photovoltaic string arrangement direction. The resampling module is used to resample the original data stream according to adaptive sampling rules to generate a continuous dataset; The node labeling module is used to analyze the spatiotemporal correlation of fluctuations in adjacent photovoltaic strings in a continuous dataset, determine the direction and speed of disturbance propagation, and label key photovoltaic string nodes. The cloud upload module is used to upload continuous datasets of key photovoltaic string nodes to the cloud platform.