AI model dynamic fragmentation deployment and incremental updating method based on intelligent gateway
By identifying resource status and analyzing latency mutation rates through intelligent gateways, and dynamically adjusting sharding scheduling, efficient and flexible sharding deployment and incremental updates of AI models are achieved. This solves the problems of low resource utilization and response latency in existing technologies, and improves data stability and adaptability in industrial environments.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-18
- Publication Date
- 2026-03-13
AI Technical Summary
Existing smart gateway technologies are insufficient in the dynamic sharding deployment and incremental updates of AI models, making it difficult to meet the demands of modern industrial scenarios for high efficiency, flexibility, and low latency, resulting in low resource utilization and increased response latency.
By acquiring the resource load information and network bandwidth status of the smart gateway, a comprehensive score of resource occupancy and bandwidth utilization is calculated to identify environmental stability, select AI model sharding tasks within the stable range, compare sharding synchronization differences and identify latency mutation rates, dynamically adjust the sharding scheduling rhythm, execute incremental update operations, and optimize model deployment and updates.
It improves the continuity and adaptability of dynamic sharding deployment and incremental updates of AI models, ensuring the accuracy and stability of data in complex industrial environments, and reducing resource consumption and latency.
Smart Images

Figure CN121664653A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of industrial smart gateway technology, and in particular to a method for dynamic sharding deployment and incremental update of AI models based on smart gateways. Background Technology
[0002] With the rapid development of artificial intelligence and the Internet of Things (IoT) technologies, smart gateways are playing an increasingly important role in industrial intelligentization scenarios, especially in the deployment and updating of AI models. As the core node connecting terminal devices and the cloud, industrial smart gateways not only need to achieve multi-protocol parsing and standardized data processing, but also need to support efficient and flexible AI model management to meet the application requirements of low latency and high adaptability. However, existing technologies still have significant shortcomings in the dynamic fragmentation deployment and incremental updates of AI models, making it difficult to fully adapt to the complex and ever-changing industrial environment.
[0003] A search revealed that patent CN118612309B proposes a smart gateway conversion method and system architecture, which integrates a deep learning model and utilizes edge computing capabilities to achieve multi-protocol parsing and real-time data processing. However, this technical solution mainly focuses on protocol conversion and data standardization, without addressing the dynamic sharding deployment and incremental update mechanism of the AI model. Its deep learning model deployment method is relatively static, unable to dynamically adjust the model sharding strategy according to actual scenario requirements, potentially leading to low resource utilization and increased response latency. Furthermore, this solution lacks support for incremental model updates; in the face of rapidly changing application scenarios, it may require frequent redeployment of the complete model, increasing network transmission and computational overhead, and impacting the system's real-time performance and efficiency.
[0004] Another patent, CN119917578B, proposes a database access method and related equipment based on an edge-cloud system. By constructing a collaborative architecture of terminals, edge gateways, and cloud servers, it enables flexible deployment of enterprise metadata knowledge bases, AI models, and databases. While this technical solution emphasizes the initial configuration flexibility of AI models, its deployment method relies on static configuration based on customer needs and lacks support for dynamic model sharding, making it difficult to cope with diverse and dynamic industrial scenarios. Furthermore, the solution does not explicitly mention the specific implementation method for incremental updates, which may face a significant data synchronization burden during model version iterations, affecting the system's real-time performance and stability. In addition, this solution places high demands on the computing power and storage capacity of the edge gateway, potentially limiting its widespread application in resource-constrained environments.
[0005] The aforementioned issues demonstrate that existing smart gateway technologies suffer from significant technical bottlenecks in the dynamic fragmentation and incremental updates of AI models, making it difficult to meet the demands of modern industrial scenarios for efficient, flexible, and low-latency AI model management. Therefore, there is an urgent need for a method for dynamic fragmentation and incremental updates of AI models based on smart gateways. This method could optimize the flexibility and efficiency of model deployment, reduce resource consumption and latency, and improve the system's adaptability and scalability, thereby better serving intelligent industrial applications. Summary of the Invention
[0006] To address the technical problems existing in the prior art, this invention provides a method for dynamic sharding deployment and incremental update of AI models based on a smart gateway. The technical solution is as follows:
[0007] A method for dynamic sharding deployment and incremental update of AI models based on a smart gateway includes the following steps:
[0008] S1: Obtain resource load information and network bandwidth status under the current operating environment of the smart gateway, calculate the comprehensive score of resource occupancy and bandwidth utilization, count the change range of two consecutive scores, compare with the preset fluctuation threshold to determine whether it has stability, and generate a resource status stability identification result.
[0009] S2: Based on the resource status stability identification result, filter the AI model sharding task sequence within the stable interval, read the execution time of the three sharding tasks and compare it with the corresponding timestamps sent from the cloud, record whether the deviation falls within the sharding synchronization tolerance zone, and establish the sharding synchronization difference comparison result.
[0010] S3: Obtain the sampling period corresponding to the sum of the completion times of two consecutive sharding tasks, calculate the sharding task delay mutation rate per unit time, and if it is greater than the delay mutation identification threshold, identify the current period as the mutation trigger point and add an alarm flag to form a sharding delay mutation rate identification record.
[0011] S4: Based on the fragmentation delay mutation rate identification record, if there is an alarm flag, compress the fragmentation scheduling cycle and continuously collect the fragmentation task delay rate three times. If the average value is lower than the stable recovery threshold, restore the original scheduling rhythm configuration and establish the fragmentation scheduling rhythm recovery judgment result.
[0012] S5: Based on the combined results of the fragmented scheduling rhythm recovery judgment and the fragmented synchronization difference comparison, determine whether the current cycle is in an incremental update triggered state, analyze whether to execute the incremental update operation, and generate the AI model adaptive update result.
[0013] As a further aspect of the present invention, the resource status stability identification result includes a resource occupancy stability flag, a statistical value of bandwidth utilization change amplitude, and a load balancing comparison conclusion; the sharding synchronization difference comparison result includes a sharding task deviation distribution record, a cloud timestamp offset mapping result, and an out-of-tolerance label; the sharding latency mutation rate identification record includes a latency mutation rate value, a mutation cycle index, and a QoS alarm flag; the sharding scheduling rhythm recovery judgment result includes a latency rate average judgment result and a stable state confirmation flag; and the AI model adaptive update result includes an update trigger state judgment result, a sharding window update control record, and incremental update output data.
[0014] As a further embodiment of the present invention, the preset fluctuation threshold is a load balancing tolerance, the cloud timestamp is obtained through a distributed clock synchronization protocol, and the alarm flag is a QoS alarm flag.
[0015] As a further aspect of the present invention, the specific steps for obtaining the resource status stability identification result are as follows:
[0016] S111: Obtain the resource load information and network bandwidth status of the smart gateway in the current period and the previous period, calculate the difference between the resource occupancy rate and bandwidth utilization rate between the two periods, arrange them in time series, extract the change amplitude between two adjacent time differences, and generate a resource status change amplitude sequence.
[0017] S112: Based on two consecutive segments of change amplitude values in the resource status change amplitude sequence, compare each group of consecutive change amplitudes to see if they are all less than a preset fluctuation threshold, and obtain a continuous change amplitude comparison record.
[0018] S113: Based on the continuous change amplitude comparison record, determine whether all data in the continuous data group meet the fluctuation threshold limit condition. If they do, mark the periodic state as having stability and generate a resource state stability identification result.
[0019] As a further aspect of the present invention, the specific steps for obtaining the fragment synchronization difference comparison results are as follows:
[0020] S211: Based on the resource status stability identification result, filter the periodic index interval marked as stable state, obtain the AI model sharding task execution time in the corresponding period, write it into the data window structure according to the corresponding sampling time order, record the time order without adjusting, only perform index mapping operation, and generate data window sharding sequence.
[0021] S212: Based on the execution times of the three groups of sharding tasks extracted according to the index position in the data window sharding sequence, and reading the cloud timestamps with the same sampling time for the three groups, calculate the one-to-one deviation between the sharding task execution time and the corresponding timestamp, and generate a sharding time deviation group.
[0022] S213: Based on each group of deviations in the segmentation time deviation group, determine whether it is within the segmentation synchronization tolerance zone, convert each judgment result into a status mark value, and statistically analyze the sequence formed by all mark values to establish the segmentation synchronization difference comparison result.
[0023] As a further aspect of the present invention, the specific steps for obtaining the fragmented delayed mutation rate identification record are as follows:
[0024] S311: Obtain the completion time of the sharding task under two consecutive sampling periods, calculate the difference, and combine the sampling time interval between the two periods to calculate the sharding task delay change rate per unit time for all period data in turn, and obtain the sharding delay mutation rate sequence.
[0025] S312: Based on each rate value in the segmented delay mutation rate sequence, compare each item with the dynamic delay rate threshold to determine whether there are periodic points with rate values greater than the dynamic delay rate threshold, and add a marker state to the periodic points that meet the conditions to obtain the mutation period marker sequence.
[0026] S313: Based on the period position where the state is triggered in the mutation period marker sequence, extract the corresponding sampling timestamp, and combine it with the mutation state of each period to write the alarm flag bit into the data structure, synchronously record the corresponding timestamp information, and establish a segmented delay mutation rate identification record.
[0027] As a further embodiment of the present invention, when writing the alarm flag, the flag is 0 if the trigger period is corresponding, otherwise it is 1.
[0028] As a further aspect of the present invention, the specific steps for obtaining the fragmented scheduling rhythm recovery judgment result are as follows:
[0029] S411: Based on the fragment delay mutation rate identification record, search for whether there is a record marked as an alarm at the periodic point status. If there is, calculate the compressed fragment scheduling period value, set the scheduling rhythm based on the compression period, and establish compression rhythm scheduling period data.
[0030] S412: Based on the compression rhythm scheduling cycle data, collect three fragment task delay rate values within a set continuous time range, calculate the average of the three delay rates, compare it with the stable recovery threshold, determine whether it is lower than the stable recovery threshold, and obtain the stable trend state marking result.
[0031] S413: Based on the stable trend state marking result, if the continuous sampled values are all lower than the stable recovery threshold, the recovery scheduling rhythm is the originally set period value. The period index and time information corresponding to the recovery operation are recorded synchronously, and the piecewise scheduling rhythm recovery judgment result is established.
[0032] As a further aspect of the present invention, the specific steps for obtaining the adaptive update result of the AI model are as follows:
[0033] S511: Based on the recovery status flag value and difference comparison status of the current period in the segmented scheduling rhythm recovery judgment result and the segmented synchronization difference comparison result, determine whether the current period simultaneously meets the two conditions of recovery rhythm not being established and segmented deviation exceeding segmented synchronization tolerance zone. If both conditions are met, mark the current period as incremental update trigger state and obtain update trigger period flag record.
[0034] S512: Based on the update trigger cycle marker record, determine whether the current cycle is an identified cycle. If it is, pause the update operation of the historical comparison data in the sharding window, retain the sharding task delay data of the current cycle, and calculate the incremental update correction value based on the cloud reference timestamp within the current cycle range to generate the current incremental update data.
[0035] S513: Based on the coordination status between the current incremental update data and the update trigger cycle marker record, if the current cycle is not in the update state, perform a shard synchronization difference comparison operation and record the update offset trend; if the current cycle is in the update state, use the incremental update correction value to update the AI model shard version and establish the AI model adaptive update result.
[0036] As a further aspect of the present invention, the incremental update correction value adopts the formula:
[0037]
[0038] Perform the calculation, where ΔU t T represents the incremental update correction value in the current period, in milliseconds. cloud This represents the cloud-based reference timestamp corresponding to the current periodic sampling time, in milliseconds (T). local This represents the local sharding task execution time of the smart gateway during the current sampling period, in milliseconds. α represents the sharding task latency variation coefficient for the current period, calculated as follows: The unit is dimensionless, ΔT avg ΔT represents the arithmetic mean of the latency of all sharded tasks that trigger update cycles within the current update window, in milliseconds. max L represents the maximum latency of all sharded tasks that trigger update cycles within the current update window, in milliseconds. t-1 With L t-2 These represent the rhythm recovery judgment status flag values for the previous cycle and the two cycles prior, respectively, with values of 0 or 1.
[0039] The beneficial effects of the technical solutions provided in the embodiments of the present invention include at least the following:
[0040] This invention achieves accurate identification of operating environment stability based on resource status fluctuation quantification and bandwidth utilization change amplitude statistics. It enhances sharding synchronization accuracy by limiting the sharding task deviation range, improves the sensitivity and targeting of sharding delay identification by combining multiple comparison mechanisms with cloud timestamps, and enhances the ability to capture abnormal sharding behavior in a timely manner by dynamically extracting and identifying the sharding task delay mutation rate. By dynamically adjusting the sharding scheduling rhythm and executing continuous delay collection within the compression cycle, it improves the efficiency of judging recovery trends and optimizes the response control process of sharding task delay. This effectively improves the continuity and adaptability of AI model dynamic sharding deployment and incremental updates, ensuring stable support for data accuracy in complex industrial environments. Attached Figure Description
[0041] Figure 1 This is a flowchart of the method of the present invention;
[0042] Figure 2 This is a flowchart illustrating the process of obtaining the resource status stability identification result in this invention.
[0043] Figure 3 This is a flowchart illustrating the process of obtaining the fragmented synchronization difference comparison results of the present invention.
[0044] Figure 4 This is a flowchart illustrating the process of obtaining the fragmented delay mutation rate identification record according to the present invention.
[0045] Figure 5 This is a flowchart illustrating the process of obtaining the segmented scheduling rhythm recovery judgment result of the present invention;
[0046] Figure 6 This is a flowchart illustrating the process of obtaining the adaptive update results of the AI model in this invention. Detailed Implementation
[0047] The technical solution of the present invention will now be described with reference to the accompanying drawings.
[0048] In embodiments of the present invention, words such as "exemplarily," "for example," etc., are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" in the present invention should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of the word "exemplary" is intended to present the concept in a concrete manner. Furthermore, in embodiments of the present invention, the meaning expressed by "and / or" can be both, or either one.
[0049] In the embodiments of this invention, the terms "image" and "picture" may sometimes be used interchangeably. It should be noted that, without emphasizing the distinction between them, their intended meanings are consistent. Similarly, the terms "of," "corresponding (relevant)," and "corresponding" may sometimes be used interchangeably. It should be noted that, without emphasizing the distinction between them, their intended meanings are consistent.
[0050] In this embodiment of the invention, sometimes a subscript such as W1 may be written in a non-subscript form such as W1. When the difference is not emphasized, the meaning they express is the same.
[0051] To make the technical problems, technical solutions and advantages of the present invention clearer, a detailed description will be given below in conjunction with the accompanying drawings and specific embodiments.
[0052] Please see Figure 1 This invention provides a technical solution: a method for dynamic sharding deployment and incremental update of AI models based on a smart gateway, comprising the following steps:
[0053] S1: Obtain resource load information and network bandwidth status under the current operating environment of the smart gateway, calculate the comprehensive score of resource occupancy and bandwidth utilization, count the change range of two consecutive scores, compare with the preset fluctuation threshold to determine whether it has stability, and generate a resource status stability identification result.
[0054] S2: Based on the resource status stability identification results, filter the AI model sharding task sequence within the stable range, read the execution time of the three sharding tasks and compare it with the corresponding timestamps sent from the cloud, record whether the deviation falls within the sharding synchronization tolerance zone, and establish the sharding synchronization difference comparison results.
[0055] S3: Obtain the sampling period corresponding to the sum of the completion times of two consecutive sharding tasks, calculate the sharding task delay mutation rate per unit time, and if it is greater than the delay mutation identification threshold, identify the current period as the mutation trigger point and add an alarm flag to form a sharding delay mutation rate identification record.
[0056] S4: Based on the fragmentation delay mutation rate identification record, if there is an alarm flag, compress the fragmentation scheduling cycle and continuously collect the fragmentation task delay rate three times. If the average value is lower than the stable recovery threshold, restore the original scheduling rhythm configuration and establish the fragmentation scheduling rhythm recovery judgment result.
[0057] S5: Based on the combined results of the fragmented scheduling rhythm recovery judgment and the fragmented synchronization difference comparison, determine whether the current cycle is in an incremental update triggered state, analyze whether to execute the incremental update operation, and generate the AI model adaptive update result.
[0058] The resource status stability identification results include resource occupancy stability indicators, bandwidth utilization change statistics, and load balancing comparison results. The sharding synchronization difference comparison results include sharding task deviation distribution records, cloud timestamp offset mapping results, and out-of-tolerance labels. The sharding latency mutation rate identification records include latency mutation rate values, mutation cycle indexes, and QoS alarm flags. The sharding scheduling rhythm recovery judgment results include latency rate average judgment results and stable state confirmation flags. The AI model adaptive update results include update trigger state judgment results, sharding window update control records, and incremental update output data.
[0059] Please see Figure 2 The specific steps for obtaining the resource status stability identification result are as follows:
[0060] S111: Obtain the resource load information and network bandwidth status of the smart gateway in the current period and the previous period, calculate the difference between the resource occupancy rate and bandwidth utilization rate between the two periods, arrange them in time series, extract the change amplitude between two adjacent time differences, and generate a resource status change amplitude sequence.
[0061] To obtain the resource load information and network bandwidth status of the smart gateway for the current and previous periods, the specific operation is as follows: at the current time point T... n (e.g. T) n =14:30:00) CPU utilization C is retrieved through the gateway's internal monitoring interface. n =75%, memory usage M n =60% and the uplink bandwidth U of the network adapter n =85Mbps and downlink bandwidth D n =92Mbps, and simultaneously acquire the previous cycle time point T n-1 (e.g. T) n-1 =14:29:00) corresponding data C n-1 =72%, M n-1 =58%, U n-1 =82Mbps and D n-1 =90Mbps, the resource utilization rate R is calculated as a weighted average of CPU utilization and memory utilization, and the weights are set according to the business's dependence on computing and storage resources. In this scenario, the computing resource weight W C =0.6, storage resource weight W M =0.4, then the current period's resource utilization rate R n =C n ×W C +M n ×W M =75% × 0.6 + 60% × 0.4 = 45% + 24% = 69%, the resource utilization rate R in the previous period n-1=72% × 0.6 + 58% × 0.4 = 43.2% + 23.2% = 66.4%. The bandwidth utilization rate B is calculated as the sum of the uplink and downlink bandwidths and the gateway's theoretical total bandwidth B. total =200Mbps, then the current period bandwidth utilization rate B n =(U n +D n ) / B total = (85+92) / 200 = 88.5%, bandwidth utilization rate B in the previous cycle n-1 =(U n-1 +D n-1 ) / B total = (82+90) / 200 = 86%, calculate the difference in resource utilization rate between the two cycles ΔR = R n -R n-1 =69% - 66.4% = 2.6%, calculate the difference in bandwidth utilization between the two cycles ΔB = B n -B n-1 =88.5% - 86% = 2.5%. Repeat this process over multiple consecutive cycles, for example, collect data for 5 consecutive cycles and perform the calculation.
[0062] Table 1: Intelligent Gateway Resource Status Monitoring Table
[0063]
[0064]
[0065] As shown in Table 1, resource and bandwidth data for each period were obtained and the difference was calculated. The calculated differences were then arranged in time series to form the resource utilization difference sequence {ΔR}. T-3 ,ΔR T-2 ,ΔR T-1 ,ΔR T The difference between the values of {0.2%, 0.6%, 0.0%, 2.6%} and the bandwidth utilization sequence {ΔB} is given. T-3 ,ΔB T-2 ,ΔB T-1 ,ΔB T} = {1.5%, 1.0%, 0.0%, 2.5%}, then extract the magnitude of change between two adjacent time intervals. For example, at time T-2, the magnitude of change in the resource utilization rate difference is |ΔR T-2 -ΔR T-3 |=|0.6%-0.2%|=0.4%, the change range of the bandwidth utilization difference is |ΔB T-2 -ΔB T-3 |=|1.0%-1.5%|=0.5%, after calculating the change range of all adjacent periods, a sequence of resource status change ranges is generated.
[0066] S112: Based on two consecutive segments of change amplitude values in the resource status change amplitude sequence, compare each group of consecutive change amplitudes to see if they are all less than the preset fluctuation threshold, and obtain a continuous change amplitude comparison record.
[0067] Based on two consecutive segments of change amplitude values in the resource status change amplitude sequence, a preset fluctuation threshold V is set. th The threshold is set based on statistical analysis of a large amount of historical stable operation data, taking the 95th percentile of the change range sequence as the threshold to ensure that the vast majority of normal fluctuations are not misjudged. This was verified experimentally by selecting 10,000 sampling points from the equipment during non-peak operating periods within the past 7 days and calculating the change range of its resource status. The 95th percentile was 0.8%, therefore, V was set as the threshold. th =0.8%, successively compare whether the continuous change range of each group is less than V. th For example, at time T-1, it is necessary to compare the change magnitude at time T-2 with the change magnitude at time T-1, that is, the resource change magnitude of 0.4% and the bandwidth change magnitude of 0.5% at time T-2, and the resource change magnitude |ΔR| at time T-1. T-1 -ΔR T-2 |=|0.0%-0.6%|=0.6% and bandwidth change magnitude|ΔB T-1 -ΔB T-2 The value |=|0.0%-1.0%|=1.0%. Within this set of continuously varying amplitude values {0.4%, 0.5%, 0.6%, 1.0%}, there exists a bandwidth variation amplitude of 1.0% that is greater than the preset fluctuation threshold V. th =0.8%, therefore the comparison result at time T-1 is not satisfied. Conversely, if at time T-2, the two consecutive change ranges are equal to the resource change range |ΔR| at time T-3. T-3 -ΔR T-4 |Amount of bandwidth change|ΔB T-3 -ΔB T-4 | and the resource change rate of 0.4% and bandwidth change rate of 0.5% at time T-2. Assuming that all four values are less than 0.8% after calculation, the comparison result at time T-2 is satisfactory. The comparison result (satisfied / unsatisfied) of each period point is recorded in chronological order to obtain the continuous change rate comparison record.
[0068] S113: Based on the comparison records of continuous change amplitude, determine whether all data in the continuous data group meet the fluctuation threshold limit condition. If they do, mark the periodic state as having stability and generate a resource state stability identification result.
[0069] Based on the comparison records of continuous change amplitudes, it is determined whether all fluctuation threshold constraints are met in the continuous data set. Here, the continuous data set refers to the minimum number of consecutive satisfying cycles required for the system to enter a stable state. This value is set according to the sensitivity of the application. For AI inference services that require high stability, it is set that the comparison results of three consecutive cycle sets are all "satisfied" before the system is considered to have stability. For example, checking the comparison records of three cycles T-3, T-2, and T-1, if the record is {satisfied, satisfied, satisfied}, then the cycle state at time T-1 is marked as having stability. Conversely, if the record is {satisfied, satisfied, not satisfied}, then it is not marked as having stability. The judgment result is synchronously updated to a status register. If satisfied, the register value is 1; if not satisfied, it is 0, generating a resource state stability identification result.
[0070] Please see Figure 3 The specific steps for obtaining the fragment synchronization difference comparison results are as follows:
[0071] S211: Based on the resource status stability identification result, filter the periodic index interval marked as stable state, obtain the AI model sharding task execution time in the corresponding period, write it into the data window structure according to the corresponding sampling time order, record the time order without adjusting, only perform index mapping operation, and generate data window sharding sequence.
[0072] Based on the resource state stability identification results, the periods with a state register value of 1 are retrieved, and the period index intervals marked as stable states are selected. For example, if the period index interval from T-10 to T-5 is identified as a stable state, this interval is locked, and the execution time of the sharded task recorded by the AI model inference engine within this interval is obtained. For example, in the T-10 period, the execution completion time of a sharded task of an image recognition model on the gateway is 152ms, and in the T-9 period it is 155ms. These time values {152, 155, 153, 156, 154, 155} are written into a fixed-size data window structure according to their corresponding sampling time order T-10, T-9, ..., T-5. This data window is a first-in-first-out (FIFO) queue with a size of 10. Here, only the storage location is indexed and mapped. For example, the data of T-10 is stored at index 0 without changing its original time order attribute, thus generating a data window sharding sequence.
[0073] S212: Based on the execution times of the three groups of sharding tasks extracted from the data window sharding sequence according to the index position, and reading the cloud timestamps with the same sampling time for the three groups, calculate the one-to-one deviation between the sharding task execution time and the corresponding timestamp, and generate the sharding time deviation group.
[0074] Based on the execution times of three groups of sharding tasks extracted from the data window sharding sequence according to their index positions, the extraction rule here is to take one sample from the head, middle, and tail of the data window to examine the synchronization consistency on the time series. For example, if the window is full, the data at indices 0, 4, and 9 are extracted, and their corresponding sharding task execution times are T, respectively. local,0 =152ms,T local,4 =154ms,T local,9 =158ms, and read the cloud baseline timestamp with the same sampling timestamp as these three sets of data from the command log issued from the cloud. The cloud timestamp is the moment when the cloud completes task scheduling and distributes the fragments, for example, the corresponding timestamp is T. cloud,0 =150ms,T cloud,4 =151ms,T cloud,9 =154ms, calculate the one-to-one deviation between the execution time of the segmented task and the corresponding timestamp, i.e., δ0 = T local,0 -T cloud,0 =152ms-150ms=2ms, δ4=T local,4 -T cloud,4 =154ms-151ms=3ms, δ9=T local,9 -T cloud,9 =158ms-154ms=4ms, generating the fragment time deviation group {δ0,δ4,δ9}={2ms,3ms,4ms}.
[0075] S213: Based on each group of deviations in the segmentation time deviation group, determine whether each deviation is within the segmentation synchronization tolerance zone, convert each judgment result into a status flag value, and statistically analyze the sequence formed by all flag values to establish the segmentation synchronization difference comparison result.
[0076] Based on each deviation in the segmented time deviation group, it is determined whether each deviation is within the segmented synchronization tolerance band. The setting of the segmented synchronization tolerance band depends on the real-time requirements of the specific AI application. For target tracking applications in video surveillance, the end-to-cloud latency needs to be strictly controlled. Through experimental testing, a latency exceeding 10ms will cause tracking drift. Therefore, the tolerance band is set to [-5ms, +5ms]. Each value in the deviation group is compared with this range. 2ms is within this range, 3ms is within this range, and 4ms is within this range. Each judgment result is converted into a status flag value. It is recorded as 0 if it is within the range and 1 if it is outside the range. The status flag values corresponding to the current three judgment results are {0,0,0}. All flag values are formed into a sequence, and the number of values with 1 in the sequence is counted. If the number is 0, the final comparison result is "synchronized". If the number is greater than 0, it is "out of sync". In this example, the count of values with 1 is 0, and the segmented synchronization difference comparison result is "synchronized".
[0077] Please see Figure 4 The specific steps for obtaining the fragmented delayed mutation rate identification record are as follows:
[0078] S311: Obtain the completion time of the sharding task under two consecutive sampling periods, calculate the difference, and combine the sampling time interval between the two periods to calculate the sharding task delay change rate per unit time for all period data in turn, and obtain the sharding delay mutation rate sequence.
[0079] Obtain the completion time of the segmented task over two consecutive sampling periods. These two periods do not need to be within a stable state interval, for example, in time T. i The task completion time recorded at a specific time (e.g., 15:00:00) is C. i =180ms, in the next sampling period T i+1 The task completion time recorded at time (e.g., 15:00:01, sampling time interval Δt = 1s) is C. i+1 =210ms, calculate the difference between these two time points ΔC = C i+1 -C i =210ms - 180ms = 30ms. Combining this with the sampling time interval Δt = 1s between the two periods, calculate the rate of change of the fragmented task delay V per unit time. delay =ΔC / Δt = 30ms / 1s = 30ms / s. Apply this calculation process to all periodic data. For example, obtain task completion time data on a time series and calculate its delay change rate.
[0080] Table 2: Fragmentation Task Latency and Rate Monitoring Table
[0081] Periodic Index Timestamp Task completion time (ms) Delay change rate (ms / s) T-5 14:59:56 160 - T-4 14:59:57 165 5 T-3 14:59:58 170 5 T-2 14:59:59 180 10 T-1 15:00:00 210 30 T 15:00:01 205 -5
[0082] As shown in Table 2, by continuously monitoring the completion time of the sharding task, the rate of delay change between adjacent cycles is calculated, and the sharding delay mutation rate sequence is obtained. In this example, the sequence is {5,5,10,30,-5} (unit: ms / s).
[0083] S312: Based on each rate value in the segmented delay mutation rate sequence, compare it with the dynamic delay rate threshold item by item to determine whether there are periodic points with rate values greater than the dynamic delay rate threshold, and add a label state to the periodic points that meet the conditions to obtain the mutation period label sequence.
[0084] Based on the rate values in the segmented delay mutation rate sequence, and the dynamic delay rate threshold V dynamic_th The dynamic threshold is calculated by performing a step-by-step comparison, based on the moving average μ of the rate of change of delay over the past N periods (e.g., N=50). rateand standard deviation σ rate The threshold is set to V. dynamic_th =μ rate +k·σ rate Where k is the confidence coefficient, set according to the sensitivity requirements of anomaly detection, generally k=3 to cover 99.7% of normal fluctuations. Assuming the currently calculated μ rate =8ms / s, σ rate =4ms / s, then V dynamic_th =8 + 3 × 4 = 20 ms / s. Compare the rate sequence {5, 5, 10, 30, -5} (unit: ms / s) with the threshold 20 ms / s item by item. It is found that the rate value 30 ms / s is greater than 20 ms / s. Therefore, the period point corresponding to the rate value is determined to be a mutation point, and the period point is marked with the status "trigger". The other period points are marked as "normal", resulting in the mutation period mark sequence {normal, normal, normal, trigger, normal}.
[0085] S313: Based on the period position where the state is triggered in the mutation period marker sequence, extract the corresponding sampling timestamp, and combine it with the mutation state of each period to write the alarm flag bit into the data structure, synchronously record the corresponding timestamp information, and establish a segmented delay mutation rate identification record.
[0086] Based on the position of the period in the mutation cycle marker sequence where the state is "triggered", the sampling timestamp corresponding to that position is extracted. In the example above, the period with the state "triggered" is the 4th period point, and its corresponding timestamp is 15:00:00. Combined with the mutation state "triggered" of this period, a new record is written to a dedicated alarm log data structure. This record contains the alarm flag bit (set to 1), the trigger timestamp (15:00:00), and the current delay mutation rate value (30ms / s). If there is no trigger, no record is written or the alarm flag bit is set to 0. By continuously performing this operation, a fragmented delay mutation rate identification record is established.
[0087] Please see Figure 5 The specific steps for obtaining the fragmented scheduling rhythm recovery judgment result are as follows:
[0088] S411: Based on the fragment delay mutation rate identification record, search for whether there is a record marked as an alarm at the periodic point status. If there is, calculate the compressed fragment scheduling period value, set the scheduling rhythm based on the compression period, and establish compression rhythm scheduling period data.
[0089] Based on the fragmentation delay mutation rate identification record, the alarm log data structure is periodically searched for records where the alarm flag is 1. If an alarm record is found at the current checkpoint, for example, if an alarm generated in the previous second is detected at 15:00:01, the original fragmentation scheduling period is immediately read, assuming the original value is T.original =500ms, meaning 2 fragmentation tasks are executed per second. The compressed fragmentation scheduling cycle value will be calculated, and the compression algorithm is T. compressed =T original ×F compress The compression factor F compress It is a fixed value less than 1, set according to the desired increase in observation density, for example, F. compress =0.4, then T compressed =500ms × 0.4 = 200ms, that is, the scheduling frequency is increased to 5 times per second. Then, the system updates the scheduler's execution rhythm parameter to 200ms and establishes compressed rhythm scheduling cycle data.
[0090] S412: Based on the compression rhythm scheduling cycle data, collect three fragmented task delay rate values within a set continuous time range, calculate the average of the three delay rates, compare it with the stable recovery threshold, determine whether it is lower than the stable recovery threshold, and obtain the stable trend state marking result.
[0091] Based on the compression rhythm scheduling cycle data, after entering the compression scheduling rhythm, the system continuously collects the latency rate values of the fragmented tasks within a set continuous time range, defined as three new scheduling cycles, i.e., 3 × 200ms = 600ms. The calculation method for this latency rate is consistent with that in S311. For example, if the three sets of continuous latency rate values collected are {15ms / s, 12ms / s, 10ms / s}, the arithmetic mean of these three latency rates is calculated. and the stable recovery threshold V stable_th In comparison, the stable recovery threshold should be set lower than the mutation identification threshold in S312. Its setting is based on the 80th percentile of the delay rate under historical normal operating conditions to ensure that the system truly recovers to a stable state. Assuming the 80th percentile of the historical normal rate is 15 ms / s, V is set... stable_th =15ms / s, comparison With V stable_th =15ms / s. Since 12.33ms / s < 15ms / s, the current state is determined to be below the stable recovery threshold, and the stable trend state is marked as "stable".
[0092] S413: Based on the stable trend state marking results, if the continuous sampled values are all lower than the stable recovery threshold, the recovery scheduling rhythm is the originally set period value. The period index and time information corresponding to the recovery operation are recorded synchronously, and the piecewise scheduling rhythm recovery judgment result is established.
[0093] Based on the stable trend state marking results, if the consecutive average values in the previous step (in practical applications, this may mean that the average values of three consecutive steps are all below the threshold) are all below the stable recovery threshold, then the system determines that the delay mutation has been eliminated, and the control module restores the scheduler's scheduling cycle parameter to the originally set cycle value T. original =500ms. At the same time, the recovery operation is recorded in an operation log, including the cycle index corresponding to the recovery operation, the time information of the recovery execution (e.g., 15:00:02), and the average latency rate before recovery of 12.33ms / s, and the result of the fragmented scheduling rhythm recovery judgment is established.
[0094] Please see Figure 6 The specific steps for obtaining the AI model adaptive update results are as follows:
[0095] S511: Based on the recovery status flag value and difference comparison status of the current period in the segmented scheduling rhythm recovery judgment result and the segmented synchronization difference comparison result, determine whether the current period simultaneously meets the two conditions of recovery rhythm not being established and segmented deviation exceeding segmented synchronization tolerance zone. If both conditions are met, mark the current period as incremental update trigger state and obtain update trigger period flag record.
[0096] Based on the recovery status flag value and difference comparison status of the current period corresponding to the fragmented scheduling rhythm recovery judgment result and the fragmented synchronization difference comparison result, the recovery status flag value here is a Boolean value. If a recovery operation was performed in step S413, it is true; otherwise, it is false. The difference comparison status is "synchronized" or "out of sync" obtained in step S213. In the current period T... current The system makes a judgment, reads the status of the scheduling module, and finds that the result of the segmented scheduling rhythm recovery judgment is false (i.e., the system is still in the alarm or compressed scheduling state and has not performed recovery). At the same time, it reads the result of the synchronization comparison module and finds that the segmented synchronization difference comparison result is "out of step" (for example, there are values in the deviation sequence calculated in step S213 that exceed the tolerance zone). Since the current cycle meets both the conditions of "recovery rhythm not established" and "segmented deviation exceeds the tolerance zone", the system sets a global state variable "update trigger flag" to true and records the index of the current cycle to obtain the update trigger cycle mark record.
[0097] S512: Based on the update trigger cycle marker record, determine whether the current cycle is an identified cycle. If it is, pause the update operation of the historical comparison data in the shard window, retain the shard task delay data of the current cycle, and calculate the incremental update correction value based on the cloud reference timestamp within the current cycle range to generate the current incremental update data.
[0098] The incremental update correction value is calculated using the following formula:
[0099]
[0100] Perform the calculation, where ΔU t T represents the incremental update correction value in the current period, in milliseconds. cloud This represents the cloud-based reference timestamp corresponding to the current periodic sampling time, in milliseconds (T). local This represents the local sharding task execution time of the smart gateway during the current sampling period, in milliseconds. α represents the sharding task latency variation coefficient for the current period, calculated as follows: The unit is dimensionless, ΔT avg ΔT represents the arithmetic mean of the latency of all sharded tasks that trigger update cycles within the current update window, in milliseconds. max L represents the maximum latency of all sharded tasks that trigger update cycles within the current update window, in milliseconds. t-1 With L t-2 These represent the rhythm recovery judgment status flag values for the previous cycle and the two cycles prior, respectively, with values of 0 or 1;
[0101] Based on the update trigger cycle marker record, it is determined whether the current cycle is an identified trigger cycle. If so, two parallel operations are immediately executed: first, the update of historical comparison data in the shard data window is paused, meaning that the old data is no longer replaced with the new shard execution time, thus freezing the current "out-of-sync" data; second, the shard task delay data for the current cycle is retained, and the incremental update correction value is calculated based on the cloud reference timestamp within the current cycle range. The calculation uses the formula... This formula is used to calculate a time correction amount. The logic behind this is that the base correction amount is determined by the time deviation T between the local and cloud environments. cloud -T local The decision is made, but this correction is subject to suppression by a dynamically adjusted denominator. This denominator takes into account both the severity of recent delay changes (represented by the coefficient α) and the trend of system stability changes (represented by the state label L), where ΔU t This represents the incremental update correction value that needs to be compensated under the current period t, in milliseconds. cloud The cloud-based reference timestamp corresponding to the sampling time t of the current trigger cycle is obtained by querying the cloud logs and set as T. cloud =1620ms, T local This is the execution time of the local sharding task of the smart gateway during the current sampling period t, obtained by querying the local execution log, and set as T. local =1655ms, L t-1 With L t-2These represent the rhythm recovery judgment status flag values for the previous cycle and the two cycles prior, respectively. These flag values are non-numerical data and require quantization. The quantization standard is as follows: if the corresponding cycle triggered compression scheduling in S4 but ultimately failed to recover, it is marked as 1, representing instability; if no alarm was triggered or recovery was successful, it is marked as 0, representing stability. For example, if the previous cycle triggered an alarm and failed to recover, and the two cycles prior also triggered alarms and failed to recover, then L... t-1 =1,L t-2 =1, α is the delay variation coefficient of the current period's fragmented tasks, which is a dimensionless parameter, and its calculation method is as follows: This coefficient is set with reference to the damping concept in control theory, reflecting the ratio of the central tendency of recent delayed fluctuations to extreme cases, and is used to adjust the magnitude of the correction, ΔT. avg With ΔT max The calculation window is the most recent M (e.g., M=5) cycles marked as incremental update triggered by S511. The fragmented task latency data recorded in these cycles is shown in Table 3 below.
[0102] Table 3: Update Trigger Period Delay Data Table
[0103] Triggering Periodic Index Sharding task latency (ms) U-4 25 U-3 30 U-2 28 U-1 35 U 32
[0104] Table 3 lists the data used for the calculations; these delay values are within the corresponding trigger period, T. local If the latency (25ms-35ms) is within a reasonable range relative to the time taken for a dynamic baseline (e.g., the task start time within a period) to process a single frame of a moderately complex AI model (e.g., YOLOv5s) via network-connected edge computing devices, then ΔT avg =(25+30+28+35+32) / 5=30ms, ΔT max =max(25,30,28,35,32) = 35ms, therefore α = 30 / 35 ≈ 0.857. Substitute the parameter values into the formula for calculation:
[0105]
[0106] The calculation results show that the local execution time is 35 milliseconds faster than the cloud benchmark, requiring a -35ms correction. The advantage of the formula lies in introducing α·(L) into the denominator. t-1 -L t-2 The term ) enables dynamic damping adjustment of the correction amount, which is implemented when the system stability continuously deteriorates or remains deteriorate (L). t-1 -L t-2 When the value is 0 or -1, the correction is relatively gradual, but when the system suddenly changes from stable to unstable (L... t-1 -L t-2The denominator is increased to 1), which suppresses the correction amplitude and avoids excessive adjustment that could cause system oscillations during drastic state changes. The calculated ΔU t = -35ms is the current incremental update data.
[0107] S513: Based on the coordination status between the current incremental update data and the update trigger cycle marker record, if the current cycle is not in the update state, perform the shard synchronization difference comparison operation and record the update offset trend; if the current cycle is in the update state, use the incremental update correction value to update the AI model shard version and establish the AI model adaptive update result.
[0108] Based on the coordination status between the current incremental update data and the update trigger cycle marker record, in the current cycle, since the update trigger flag is true, the system determines that the current cycle is in an update state, and then calls the AI model management module, using the calculated incremental update correction value ΔU. t = -35ms to update an internal timestamp or scheduling parameter of the AI model shard. For example, the planned execution time of the next shard task is delayed by 35ms. If it is in another non-update state cycle, the system does not perform the update operation, but continues to perform the shard synchronization difference comparison operation in S2 and records the calculated deviation value for analysis of long-term offset trend. In this way, judgment and selective operation are performed in each cycle to establish the AI model adaptive update result.
[0109] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A method for dynamic sharding deployment and incremental update of AI models based on a smart gateway, characterized in that, Includes the following steps: S1: Obtain resource load information and network bandwidth status under the current operating environment of the smart gateway, calculate the comprehensive score of resource occupancy and bandwidth utilization, count the change range of two consecutive scores, compare with the preset fluctuation threshold to determine whether it has stability, and generate a resource status stability identification result. S2: Based on the resource status stability identification result, filter the AI model sharding task sequence within the stable interval, read the execution time of the three sharding tasks and compare it with the corresponding timestamps sent from the cloud, record whether the deviation falls within the sharding synchronization tolerance zone, and establish the sharding synchronization difference comparison result. S3: Obtain the sampling period corresponding to the sum of the completion times of two consecutive sharding tasks, calculate the sharding task delay mutation rate per unit time, and if it is greater than the delay mutation identification threshold, identify the current period as the mutation trigger point and add an alarm flag to form a sharding delay mutation rate identification record. S4: Based on the fragmentation delay mutation rate identification record, if there is an alarm flag, compress the fragmentation scheduling cycle and continuously collect the fragmentation task delay rate three times. If the average value is lower than the stable recovery threshold, restore the original scheduling rhythm configuration and establish the fragmentation scheduling rhythm recovery judgment result. S5: Based on the combined results of the fragmented scheduling rhythm recovery judgment and the fragmented synchronization difference comparison, determine whether the current cycle is in an incremental update triggered state, analyze whether to execute the incremental update operation, and generate the AI model adaptive update result.
2. The method for dynamic sharding deployment and incremental update of AI models based on intelligent gateways according to claim 1, characterized in that: The resource status stability identification results include resource occupancy stability flags, bandwidth utilization change statistics, and load balancing comparison conclusions. The sharding synchronization difference comparison results include sharding task deviation distribution records, cloud timestamp offset mapping results, and out-of-tolerance labels. The sharding latency mutation rate identification records include latency mutation rate values, mutation cycle indexes, and QoS alarm flags. The sharding scheduling rhythm recovery judgment results include latency rate average judgment results and stable state confirmation flags. The AI model adaptive update results include update trigger state judgment results, sharding window update control records, and incremental update output data.
3. The method according to claim 1, characterized in that, The preset fluctuation threshold is a load balancing tolerance, the cloud timestamp is obtained through a distributed clock synchronization protocol, and the alarm flag is a QoS alarm flag.
4. The method for dynamic sharding deployment and incremental update of AI models based on intelligent gateways according to claim 1, characterized in that, The specific steps for obtaining the resource status stability identification result are as follows: S111: Obtain the resource load information and network bandwidth status of the smart gateway in the current period and the previous period, calculate the difference between the resource occupancy rate and bandwidth utilization rate between the two periods, arrange them in time series, extract the change amplitude between two adjacent time differences, and generate a resource status change amplitude sequence. S112: Based on two consecutive segments of change amplitude values in the resource status change amplitude sequence, compare each group of consecutive change amplitudes to see if they are all less than a preset fluctuation threshold, and obtain a continuous change amplitude comparison record. S113: Based on the continuous change amplitude comparison record, determine whether all data in the continuous data group meet the fluctuation threshold limit condition. If they do, mark the periodic state as having stability and generate a resource state stability identification result.
5. The method for dynamic sharding deployment and incremental update of AI models based on intelligent gateways according to claim 1, characterized in that, The specific steps for obtaining the fragment synchronization difference comparison results are as follows: S211: Based on the resource status stability identification result, filter the periodic index interval marked as stable state, obtain the AI model sharding task execution time in the corresponding period, write it into the data window structure according to the corresponding sampling time order, record the time order without adjusting, only perform index mapping operation, and generate data window sharding sequence. S212: Based on the execution times of the three groups of sharding tasks extracted according to the index position in the data window sharding sequence, and reading the cloud timestamps with the same sampling time for the three groups, calculate the one-to-one deviation between the sharding task execution time and the corresponding timestamp, and generate a sharding time deviation group. S213: Based on each group of deviations in the segmentation time deviation group, determine whether it is within the segmentation synchronization tolerance zone, convert each judgment result into a status mark value, and statistically analyze the sequence formed by all mark values to establish the segmentation synchronization difference comparison result.
6. The method for dynamic sharding deployment and incremental update of AI models based on intelligent gateways according to claim 1, characterized in that, The specific steps for obtaining the fragmented delayed mutation rate identification record are as follows: S311: Obtain the completion time of the sharding task under two consecutive sampling periods, calculate the difference, and combine the sampling time interval between the two periods to calculate the sharding task delay change rate per unit time for all period data in turn, and obtain the sharding delay mutation rate sequence. S312: Based on each rate value in the segmented delay mutation rate sequence, compare each item with the dynamic delay rate threshold to determine whether there are periodic points with rate values greater than the dynamic delay rate threshold, and add a marker state to the periodic points that meet the conditions to obtain the mutation period marker sequence. S313: Based on the period position where the state is triggered in the mutation period marker sequence, extract the corresponding sampling timestamp, and combine it with the mutation state of each period to write the alarm flag bit into the data structure, synchronously record the corresponding timestamp information, and establish a segmented delay mutation rate identification record.
7. The method according to claim 6, characterized in that, When writing the alarm flag, the flag is 0 if the trigger cycle is corresponding, otherwise it is 1.
8. The method for dynamic sharding deployment and incremental update of AI models based on intelligent gateways according to claim 1, characterized in that, The specific steps for obtaining the fragmented scheduling rhythm recovery judgment result are as follows: S411: Based on the fragment delay mutation rate identification record, search for whether there is a record marked as an alarm at the periodic point status. If there is, calculate the compressed fragment scheduling period value, set the scheduling rhythm based on the compression period, and establish compression rhythm scheduling period data. S412: Based on the compression rhythm scheduling cycle data, collect three fragment task delay rate values within a set continuous time range, calculate the average of the three delay rates, compare it with the stable recovery threshold, determine whether it is lower than the stable recovery threshold, and obtain the stable trend state marking result. S413: Based on the stable trend state marking result, if the continuous sampled values are all lower than the stable recovery threshold, the recovery scheduling rhythm is the originally set period value. The period index and time information corresponding to the recovery operation are recorded synchronously, and the piecewise scheduling rhythm recovery judgment result is established.
9. The method for dynamic sharding deployment and incremental update of AI models based on intelligent gateways according to claim 1, characterized in that, The specific steps for obtaining the adaptive update result of the AI model are as follows: S511: Based on the recovery status flag value and difference comparison status of the current period in the segmented scheduling rhythm recovery judgment result and the segmented synchronization difference comparison result, determine whether the current period simultaneously meets the two conditions of recovery rhythm not being established and segmented deviation exceeding segmented synchronization tolerance zone. If both conditions are met, mark the current period as incremental update trigger state and obtain update trigger period flag record. S512: Based on the update trigger cycle marker record, determine whether the current cycle is an identified cycle. If it is, pause the update operation of the historical comparison data in the sharding window, retain the sharding task delay data of the current cycle, and calculate the incremental update correction value based on the cloud reference timestamp within the current cycle range to generate the current incremental update data. S513: Based on the coordination status between the current incremental update data and the update trigger cycle marker record, if the current cycle is not in the update state, perform a shard synchronization difference comparison operation and record the update offset trend; if the current cycle is in the update state, use the incremental update correction value to update the AI model shard version and establish the AI model adaptive update result.
10. The method according to claim 9, characterized in that, The incremental update correction value is calculated using the following formula: Perform the calculation, where ΔU t T represents the incremental update correction value in the current period, in milliseconds. cloud This represents the cloud-based reference timestamp corresponding to the current periodic sampling time, in milliseconds (T). local This represents the local sharding task execution time of the smart gateway during the current sampling period, in milliseconds. α represents the sharding task latency variation coefficient for the current period, calculated as follows: The unit is dimensionless, ΔT avg ΔT represents the arithmetic mean of the latency of all sharded tasks that trigger update cycles within the current update window, in milliseconds. max L represents the maximum latency of all sharded tasks that trigger update cycles within the current update window, in milliseconds. t-1 With L t-2 These represent the rhythm recovery judgment status flag values for the previous cycle and the two cycles prior, respectively, with values of 0 or 1.
Citation Information
Patent Citations
A smart gateway conversion method, device, equipment and storage medium
CN118612309B
Database Access Method and Related Devices Based on Edge-Cloud System
CN119917578B