File distribution method, device and equipment of semiconductor test machine cluster and medium

By determining file feature vectors and dynamically adjusting the transmission rate, the problems of low efficiency, insufficient reliability, and low resource utilization in semiconductor test file distribution systems are solved, achieving efficient and reliable file transmission, adapting to diverse customer needs, and improving system performance.

CN120881063BActive Publication Date: 2025-12-12SHANGHAI GUBO TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511403918.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-29
Publication Date
2025-12-12
Estimated Expiration
2045-09-29

AI Technical Summary

Technical Problem

Existing semiconductor test file distribution systems suffer from low distribution efficiency, difficulty in handling diverse customer needs, insufficient transmission reliability, and inadequate load balancing, resulting in low overall resource utilization and impacting the efficiency and cost of the chip manufacturing industry chain.

Method used

By determining the feature vector of the file to be transmitted, the timeliness score, importance score, and expected transmission efficiency are determined based on the feature vector. The transmission rate is dynamically adjusted, and an intelligent retry strategy and dynamic load balancing mechanism are adopted to achieve efficient, reliable, and personalized file distribution.

Benefits of technology

It significantly improves the transmission efficiency of semiconductor test data and the overall system performance, enhances resource utilization, ensures the reliability and flexibility of file transmission, and adapts to the personalized needs of different customers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120881063B_ABST
    Figure CN120881063B_ABST
Patent Text Reader

Abstract

The application discloses a kind of semiconductor test platform cluster file distribution method, device, equipment and medium, it is related to test file transmission field.The method is: the characteristic vector of the file to be transmitted is determined;Dynamic priority is determined based on the characteristic vector;The utility value and compatibility score of corresponding channel are determined by acquiring each channel bandwidth capacity and current load, and the target channel is determined in combination with dynamic priority;File is transmitted based on target channel, and the transmission rate is dynamically adjusted by determining various factors in transmission;In the process of transmission, the result is obtained based on fragmentation and end-to-end check;According to the result, the file to be retried is determined, and the retry success probability is determined based on intelligent retry strategy to decide whether to retry.The scheme realizes the efficient, reliable and personalized distribution of test file, and significantly improves the transmission efficiency of semiconductor test data and the overall performance of system.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of testing file transmission, in particular to a file distribution method, device, equipment and medium for a semiconductor test machine cluster. BACKGROUND

[0002] In the field of semiconductor testing, modern testing systems usually consist of a cluster of multiple test machines to handle a large number of chip testing tasks in parallel. These test machines will continuously generate a large number of test result files during operation, including standard test data format files (STDF), test summary files (CSV, XLSX), test log files (LOG, TXT), test database files (DB), etc. These files need to be transmitted to the upstream test factory, wafer factory, chip design company and other related customers in a timely manner, so as to facilitate subsequent data analysis, quality evaluation and production process decision-making.

[0003] In the traditional semiconductor testing process, timely transmission of test data is of great significance to the entire chip manufacturing industry chain. Timely data analysis can help technicians quickly identify problems in the testing process, optimize test parameters, improve chip yield, and ensure that products are shipped on time. Delayed data transmission will prevent downstream customers from obtaining test results in a timely manner, affecting subsequent process improvement and production scheduling, ultimately leading to increased costs and reduced profits.

[0004] The current semiconductor test file distribution system mainly has the following problems:

[0005] Low distribution efficiency: the existing system lacks intelligent file distribution scheduling algorithms and cannot dynamically optimize according to network conditions, server load and file priority, resulting in low transmission efficiency.

[0006] Difficult to handle diverse customer needs: different customers have different personalized needs for file storage paths, file naming rules, compression formats, etc. The existing system is difficult to adapt to these diverse needs flexibly and requires a lot of manual intervention.

[0007] Insufficient transmission reliability: lack of effective file integrity checking mechanism and intelligent retry strategy, files interrupted or failed in transmission cannot be handled in a timely and effective manner.

[0008] Insufficient load balancing: when a large number of files generated by multiple test machines are simultaneously distributed, network congestion and server overload can occur, affecting overall transmission efficiency, with some channels having a utilization rate of less than 30% and others being overloaded.

[0009] Low resource utilization: lack of dynamic resource allocation mechanism based on file characteristics and network conditions, unable to fully utilize system resources to improve transmission performance, with overall system resource utilization rate of only 50% to 70%. SUMMARY

[0010] The application provides a file distribution method, device, equipment and medium for a semiconductor test machine cluster, to realize efficient, reliable and personalized distribution of test files, and significantly improve the transmission efficiency of semiconductor test data and the overall performance of the system.

[0011] According to an aspect of the application, a file distribution method for a semiconductor test machine cluster is provided, comprising:

[0012] determining a feature vector of a to-be-transmitted file, wherein the feature vector comprises a file size, a file type weight, a file basic priority, a target customer quantity and a file generation timestamp;

[0013] determining a timeliness score, an importance score and a transmission efficiency expectation corresponding to the to-be-transmitted file based on the feature vector, and determining a dynamic priority of the to-be-transmitted file based on the timeliness score, the importance score and the transmission efficiency expectation;

[0014] obtaining a bandwidth capacity and a current load corresponding to each channel, determining a channel utility value and a compatibility score of each channel for the to-be-transmitted file based on the bandwidth capacity and the current load, and determining a target channel corresponding to the to-be-transmitted file based on the channel utility value, the compatibility score and the dynamic priority;

[0015] transmitting the to-be-transmitted file based on the target channel, and determining a network quality factor, a file size adjustment factor, a priority acceleration factor and an adaptive adjustment factor in the transmission process, and dynamically adjusting a transmission rate of the to-be-transmitted file based on the network quality factor, the file size adjustment factor, the priority acceleration factor, the adaptive adjustment factor and the feature vector;

[0016] In the process of transmitting the to-be-transmitted file, the to-be-transmitted file is checked based on a fragment checksum and an end-to-end checksum to obtain a checking result of the to-be-transmitted file;

[0017] determining a to-be-retried file based on the checking result, and determining a retry success probability of the to-be-retried file based on an intelligent retry strategy, to determine whether to perform a retry transmission of the to-be-retried file based on the retry success probability.

[0018] According to another aspect of the application, a file distribution device for a semiconductor test machine cluster is provided, comprising:

[0019] a feature vector determination module configured to determine a feature vector of a to-be-transmitted file, wherein the feature vector comprises a file size, a file type weight, a file basic priority, a target customer quantity and a file generation timestamp;

[0020] a dynamic priority determination module configured to determine a timeliness score, an importance score and a transmission efficiency expectation of the to-be-transmitted file based on the feature vector, and determine a dynamic priority of the to-be-transmitted file based on the timeliness score, the importance score and the transmission efficiency expectation;

[0021] a target channel determination module configured to acquire a bandwidth capacity and a current load of each channel, determine a channel utility value and a compatibility score of each channel for the to-be-transmitted file based on the bandwidth capacity and the current load, and determine a target channel corresponding to the to-be-transmitted file based on the channel utility value, the compatibility score and the dynamic priority;

[0022] a transmission rate adjustment module configured to transmit the to-be-transmitted file based on the target channel, and determine a network quality factor, a file size adjustment factor, a priority acceleration factor and an adaptive adjustment factor during the transmission, and dynamically adjust a transmission rate of the to-be-transmitted file based on the network quality factor, the file size adjustment factor, the priority acceleration factor, the adaptive adjustment factor and the feature vector;

[0023] a verification result determination module configured to verify the to-be-transmitted file based on a fragment verification and an end-to-end verification during the transmission of the to-be-transmitted file, and obtain a verification result of the to-be-transmitted file;

[0024] an intelligent retry module configured to determine a to-be-retried file based on the verification result, determine a retry success probability of the to-be-retried file based on an intelligent retry strategy, and determine whether to perform a retry transmission of the to-be-retried file based on the retry success probability.

[0025] According to another aspect of the present application, an electronic device is provided, which comprises:

[0026] at least one processor;

[0027] and a memory connected to the at least one processor in communication;

[0028] wherein the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to perform the file distribution method of the semiconductor test machine cluster according to any one of the embodiments of the present application.

[0029] According to another aspect of the present application, a computer readable storage medium is provided, which stores computer instructions for enabling a processor to perform the file distribution method of the semiconductor test machine cluster according to any one of the embodiments of the present application when the computer instructions are executed by the processor.

[0030] The technical scheme of the embodiment of the application determines the feature vector of the to-be-transmitted file, wherein the feature vector comprises a file size, a file type weight, a file basic priority, a target customer quantity and a file generation timestamp; determines the timeliness score, the importance score and the transmission efficiency expectation corresponding to the to-be-transmitted file based on the feature vector, determines the dynamic priority of the to-be-transmitted file based on the timeliness score, the importance score and the transmission efficiency expectation; obtains the bandwidth capacity and the current load corresponding to each channel, determines the channel utility value and the compatibility score of each channel to the to-be-transmitted file based on the bandwidth capacity and the current load, and determines the target channel corresponding to the to-be-transmitted file based on the channel utility value, the compatibility score and the dynamic priority; transmits the to-be-transmitted file based on the target channel, and determines the network quality factor, the file size adjustment factor, the priority acceleration factor and the adaptive adjustment factor in the transmission process, and dynamically adjusts the transmission rate of the to-be-transmitted file based on the network quality factor, the file size adjustment factor, the priority acceleration factor, the adaptive adjustment factor and the feature vector; in the process of transmitting the to-be-transmitted file, the to-be-transmitted file is checked based on the fragment checksum and the end-to-end checksum to obtain the checking result of the to-be-transmitted file; the to-be-retried file is determined based on the checking result, and the retry success probability of the to-be-retried file is determined based on the intelligent retry strategy, so as to determine whether to perform the retry transmission of the to-be-retried file based on the retry success probability. The technical scheme solves the problems of low distribution efficiency, poor customer demand adaptability and insufficient transmission reliability in the prior art by establishing an intelligent file distribution scheduling algorithm, a dynamic load balancing mechanism and an adaptive retry strategy. The method can realize efficient, reliable and personalized distribution of test files, and significantly improves the transmission efficiency of semiconductor test data and the overall performance of the system.

[0031] It should be understood that the content described in this part is not intended to identify key or important features of the embodiments of the application, nor is it used to limit the scope of the application. Other features of the application will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS

[0032] In order to more clearly illustrate the technical solutions in the embodiments of the application, the following will briefly introduce the drawings needed to be used in the embodiment description. Obviously, the drawings in the following description are only some embodiments of the application, and other drawings can also be obtained by those skilled in the art without creating any labor.

[0033] Figure 1 A flowchart of a file distribution method of a semiconductor test machine cluster provided by the embodiment of the application;

[0034] Figure 2 A flowchart of another file distribution method of a semiconductor test machine cluster provided by the embodiment of the application;

[0035] Figure 3 A structural schematic diagram of a file distribution device of a semiconductor test machine cluster provided by an embodiment of the present application is shown in the figure.

[0036] Figure 4 A structural schematic diagram of an electronic device for implementing a file distribution method of a semiconductor test machine cluster provided by an embodiment of the present application is shown in the figure. DETAILED DESCRIPTION

[0037] In order to make the personnel in the technical field better understand the present application scheme, the technical scheme in the embodiment of the present application will be described clearly and completely below by combining the figures in the embodiment of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, not all. Based on the embodiments in the present application, all other embodiments obtained by the person skilled in the art without creative labor should belong to the scope of protection of the present application.

[0038] It should be noted that the terms "first", "second" and the like in the specification and claims of the present application and the above-mentioned figures are used to distinguish similar objects, and do not necessarily indicate a specific order or sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device including a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to these processes, methods, products or devices.

[0039] Figure 1 A flowchart of a file distribution method of a semiconductor test machine cluster provided by an embodiment of the present application is shown in the figure. The embodiment can be applicable to the efficient distribution of files of a semiconductor test machine cluster. The method can be executed by a file distribution device of a semiconductor test machine cluster. The device can be realized in the form of hardware and / or software. The device can be configured in an electronic device. As shown in the figure, the method specifically includes the following steps: Figure 1

[0040] S110, determining the feature vector of the file to be transmitted.

[0041] ​Wherein, the to-be-transmitted file can be understood as a file of a semiconductor test machine cluster; the feature vector refers to a vector representing characteristics of the file, and the feature vector includes a file size, a file type weight, a file basic priority, a target customer quantity, and a file generation timestamp. The file size can be a data amount of the file, the file type weight can be an importance weight of different types of files, the file basic priority can be a priority level of the file, the target customer quantity can be a quantity of customers needing to receive the file, and the file generation timestamp can represent a time of creation of the file.

[0042] Specifically, the to-be-transmitted file can be subjected to multi-dimensional feature extraction according to physical characteristics and business attributes of the to-be-transmitted file, so as to obtain the feature vector. It should be noted that the quantity of to-be-transmitted files can be multiple, and the multiple to-be-transmitted files can form a to-be-transmitted file set. Preferably, the to-be-transmitted file set can be For each to-be-transmitted file , the feature vector thereof is extracted:

[0043]

[0044] Wherein, F refers to a set of all to-be-transmitted files in the system, and n represents a total quantity of files; refers to an i-th file, wherein i [1, n]; refers to a feature vector of the to-be-transmitted file , which is a vector including five elements; refers to a size of the to-be-transmitted file , in bytes (Byte), and the value range can be [1 KB, 10 GB]. For example, the size of an STDF file is generally 10-100 MB, and the size of a CSV file is 1-10 MB.

[0045] refers to a file type weight, which is dimensionless, and the value range is [0.1, 1.0]; for example, STDF (standard test data format) = 1.0 (highest priority), CSV (comma-separated value file) = 0.8, LOG (log file) = 0.6, and DB (database file) = 0.4 (lowest priority).

[0046] refers to a file basic priority, which is dimensionless, and the value range is [0.1, 1.0]; the file basic priority can be calculated according to customer importance and timeliness requirements:

[0047]

[0048] Wherein, customer_level: A-class customers = 1.0, B-class customers = 0.7, and C-class customers = 0.4.

[0049] urgency_level: urgency = 1.0, general = 0.6, ordinary = 0.3;

[0050] refers to the number of target customers, dimensionless integer, value range: [1, 20], which indicates how many customers the file needs to be distributed to;

[0051] refers to the file generation timestamp, in seconds (Unix timestamp), for example, 1703123456 represents 2023-12-21 03:04:16.

[0052] S120, determining the timeliness score, importance score and transmission efficiency expectation corresponding to the to-be-transmitted file based on the feature vector, and determining the dynamic priority of the to-be-transmitted file based on the timeliness score, importance score and transmission efficiency expectation.

[0053] Among them, the timeliness score can reflect the time sensitivity of file transmission; the importance score is used to represent the importance of the file itself; the transmission efficiency expectation can be an expected value of the file transmission efficiency; the dynamic priority can be a real-time changing priority level obtained by comprehensively considering timeliness, importance and transmission efficiency expectation.

[0054] Specifically, the feature vector is used to determine the timeliness score, importance score and transmission efficiency expectation corresponding to the to-be-transmitted file, and then the three scores are calculated by an algorithm to obtain the dynamic priority of the to-be-transmitted file.

[0055] Preferably, the dynamic distribution priority of the file can be calculated based on the following formula:

[0056]

[0057] Among them, refers to the file dynamic priority at time t, value range [0, 1], the larger the value, the higher the priority. t refers to the current timestamp, in seconds (Unix timestamp). α, β, γ refer to weight parameters, dimensionless, value range [0, 1], satisfying α+β+γ=1; recommended value: α=0.4 (timeliness weight), β=0.4 (importance weight), γ=0.2 (efficiency weight). , , respectively refer to timeliness, importance and transmission efficiency expectation.

[0058] In some embodiments, the determining the timeliness score, the importance score and the transmission efficiency expectation based on the feature vector comprises: determining a time interval of the file based on the file generation timestamp, and calculating the timeliness score of the file to be transmitted based on the time detection and the maximum tolerable delay time; calculating a normalized customer quantity based on the target customer quantity and the maximum customer quantity, and weighting the file type weight, the normalized customer quantity and the file base priority based on at least one first preset weight coefficient to obtain a file importance score; and obtaining a current network delay parameter, and multiplying the current network delay by the file size to obtain the transmission efficiency expectation.

[0059] Specifically, the timeliness score, the importance score and the transmission efficiency expectation can be calculated by the following process:

[0060] Timeliness decay function:

[0061]

[0062] wherein, : timeliness score, value range: [0, 1]; : time interval of the file from generation, unit: second; T_max: maximum tolerable delay time, unit: second, typical value: 3600 seconds (1 hour); max(0,...): ensure the result is non-negative, return 0 when the file is overdue

[0063] File importance score:

[0064]

[0065] wherein, : file importance score, value range: [0, 1]; : file type weight coefficient, recommended value: 0.4; : customer quantity weight coefficient, recommended value: 0.3; : base priority weight coefficient, recommended value: 0.3; : normalized customer quantity, calculation method: : maximum customer quantity of a single file in the system, usually 20.

[0066] Transmission efficiency expectation:

[0067]

[0068] wherein, : transmission efficiency expectation, value range: [0, 1]; : current network delay, unit: second / MB, typical value: 0.001-0.01; File size, in MB.

[0069] For example, assume a STDF file: size = 50 MB, type = 1.0, customer = 3, base_priority = 0.8, timestamp = 1703123456, current time t = 1703125056 (30 minutes later), network delay = 0.005 seconds / MB.

[0070] Urgency = max(0, 1-(1800 / 3600)) = 0.5

[0071] Importance = 0.4x1.0 + 0.3x(3 / 20) + 0.3x0.8 = 0.4 + 0.045 + 0.24 = 0.685

[0072] Efficiency = 1 / (1+0.005x50) = 0.8

[0073] Priority = 0.4x0.5 + 0.4x0.685 + 0.2x0.8 = 0.2 + 0.274 + 0.16 = 0.634

[0074] In S130, the bandwidth capacity and the current load of each channel are obtained, the channel utility value and the compatibility score of each channel for the to-be-transmitted file are determined based on the bandwidth capacity and the current load, and the target channel corresponding to the to-be-transmitted file is determined based on the channel utility value, the compatibility score and the dynamic priority.

[0075] wherein, assuming that the system has m transmission channels, each channel has a bandwidth capacity and a current load . The target channel can be a transmission channel finally determined from the m transmission channels, for transmitting the to-be-transmitted file.

[0076] Specifically, the bandwidth capacity and the current load of each transmission channel can be collected, the channel utility value and the compatibility score of each channel for the to-be-transmitted file are calculated according to these data, and then the two indicators are combined with the dynamic priority of the to-be-transmitted file to filter out the target channel most suitable for transmitting the file through comparison. For example, for two to-be-transmitted files, the target transmission channel can be assigned in turn according to the priority.

[0077] In some alternative embodiments, the determining the channel utility value and the compatibility score of each channel to the file to be transmitted based on the bandwidth capacity and the current load, and determining the target channel corresponding to the file to be transmitted based on the channel utility value, the compatibility score and the dynamic priority, comprises: calculating a load rate factor based on the bandwidth capacity and the current load, and calculating a queue penalty factor based on the queue length of the channel and a queue penalty coefficient; multiplying the load rate factor and the queue penalty factor to obtain the channel utility value; determining the protocol matching degree, the client matching degree and the reliability score corresponding to the channel, and multiplying the protocol matching degree, the client matching degree and the reliability score to obtain the compatibility score; and substituting the channel utility value and the compatibility score into a distribution decision function according to the dynamic priority to obtain the target channel corresponding to the file to be transmitted.

[0078] Specifically, the system can have m transmission channels, each channel has a bandwidth capacity and a current load .

[0079] First, define the channel utility function:

[0080]

[0081] Second, for file distribution decision, an optimal distribution algorithm is adopted:

[0082]

[0083] Wherein, m: the total number of transmission channels in the system, usually 3-10. : the jth transmission channel, j∈[1, m]. : the bandwidth capacity of the jth channel, unit: MB / s, typical value: 10-1000 MB / s. : the current load of the jth channel at time t, unit: MB / s. : the channel utility value of the file at time t, value range: [0, 1].

[0084] It should be noted that the utility function components include a load rate factor and a queue length penalty factor.

[0085] Load rate factor: , which represents the proportion of the remaining bandwidth of the channel, value range: [0, 1], the larger the value, the more idle the channel, the more available bandwidth.

[0086] Queue length penalty factor: , λ: queue length penalty coefficient, recommended value: 0.1. : channel Queue length at time t, unit: file number. : exponential decay function, the longer the queue, the greater the penalty.

[0087]

[0088] where, : protocol matching degree, value range: [0.5, 1.0]. FTP protocol = 1.0 (highest compatibility), SFTP protocol = 0.8 (high security, slightly lower transmission efficiency), HTTP protocol = 0.6 (good universality, medium transmission efficiency). : customer matching degree, value range: [0.6, 1.0], dedicated channel (single customer) = 1.0, shared channel (multiple customers) = 0.6. : reliability score, calculated based on historical success rate, value range: [0.5, 1.0], . recent_success_rate: success rate of the last 100 transmissions. historical_success_rate: overall historical success rate.

[0089] The allocation decision function is as follows, which is used to allocate channels for the to-be-transmitted file:

[0090]

[0091] argmax: returns the channel number j that makes the function value maximum, that is, selects the channel with the highest utility value x compatibility score as the target channel.

[0092] For example, assume there are 3 channels:

[0093]

[0094] For a certain file , λ = 0.1, calculate the utility value of each channel:

[0095]

[0096] If the compatibility scores are the same, select channel 3, which has the highest utility value.

[0097] S140, transmit the to-be-transmitted file based on the target channel, and determine the network quality factor, file size adjustment factor, priority acceleration factor, and adaptive adjustment factor during transmission, and dynamically adjust the transmission rate of the to-be-transmitted file based on the network quality factor, the file size adjustment factor, the priority acceleration factor, the adaptive adjustment factor, and the feature vector.

[0098] The transmission rate can be the amount of data transmitted per unit of time.

[0099] Specifically, the transmission of the to-be-transmitted file is started through the selected target channel. In order to improve the transmission efficiency, the network quality factor, the file size adjustment factor, the priority acceleration factor and the adaptive adjustment factor can be monitored and determined in real time during the transmission process, and then the transmission rate is dynamically adjusted in combination with the feature vector of the to-be-transmitted file to adapt to various changes in the transmission process.

[0100] Preferably, the transmission rate can be dynamically adjusted by the following formula:

[0101]

[0102] Wherein, : file Transmission rate at time t, unit: MB / s. B : System maximum bandwidth limit, unit: MB / s, typical value: 500-2000 MB / s.

[0103] : Current available bandwidth at time t, unit: MB / s. : Packet loss rate at time t, value range: [0, 1], typical value: 0.001-0.01. min(a, b): take the smaller value of the two values, to ensure that it does not exceed the system limit.

[0104] Further, each factor is described as follows:

[0105] Network quality factor:

[0106] Wherein, : Theoretical available bandwidth at time t, unit: MB / s. : Network packet loss rate at time t, value range: [0, 1]. Considering the comprehensive influence of available bandwidth and network quality, the higher the packet loss rate, the lower the effective bandwidth.

[0107] For example, if Packet loss rate = 3%, then effective bandwidth = 100 x (1-0.03) = 97 MB / s

[0108] File size adjustment factor:

[0109] Wherein, : File size converted to MB unit, dimensionless. : Common logarithm function with base 10. That is, the size adjustment is realized by the logarithmic function to avoid step changes, and the adjustment factor of large files is smaller to avoid occupying too much bandwidth.

[0110] Exemplary,

[0111]

[0112] Priority acceleration factor:

[0113]

[0114] where boost_coefficient: priority boost coefficient, recommended value: 0.2. : Dynamic priority of the file, value range: [0, 1]. Transmission rate can be improved based on file priority, the higher the priority, the more the transmission rate is improved. Value range: [1.0, 1.2] (up to 20% increase), to ensure that high-priority files get a relatively fair rate increase.

[0115] Exemplary, low-priority file (Priority=0.2): boost=1+0.2x0.2=1.04 (4% increase; Medium-priority file (Priority=0.6): boost=1+0.2x0.6=1.12 (12% increase); High-priority file (Priority=1.0): boost=1+0.2x1.0=1.20 (20% increase).

[0116] Adaptive adjustment factor:

[0117]

[0118] where congestion_factor(t): network congestion adjustment factor, value range: [0.5, 1.5]. congestion_factor(t)=1+(1-system_utilization(t))x0.5.

[0119] system_utilization(t): system utilization, value range: [0, 1]. When the system utilization is low (network idle), the transmission rate is improved; when the system utilization is high (network busy), the transmission rate is reduced. : Urgency adjustment factor, value range: [0.8, 1.2]. . : Time sensitivity score of the file, the higher the time sensitivity, the more the transmission rate is improved.

[0120] Exemplary, assume a file: size=20MB, Priority=0.8, Urgency=0.6 Current network conditions: packet_loss_rate=0.02 System status: system_utilization=0.7 =200MB / s

[0121] The process of calculating its transmission rate:

[0122] Network_quality=100×(1-0.02)=98MB / s

[0123] size_factor = 1 / (1+log) 10 (20))=1 / (1+1.301)=0.434

[0124] priority_boost=1+0.2×0.8=1.16

[0125] congestion_factor=1+(1-0.7)×0.5=1.15

[0126] urgency_factor=1+0.2×0.6=1.12

[0127] adaptive_factor=1.15×1.12=1.288

[0128] Rate=min(200,98)×0.434×1.16×1.288=98×0.434×1.16×1.288=63.6MB / s

[0129] S150. During the transmission of the file to be transmitted, the file to be transmitted is verified based on fragmentation verification and end-to-end verification to obtain the verification result of the file to be transmitted.

[0130] In some optional embodiments, the step of verifying the file to be transmitted based on fragmentation verification and end-to-end verification to obtain the verification result of the file to be transmitted includes: dividing the file to be transmitted into k fragments, calculating the cyclic redundancy check code (CRC32 check code) for each fragment, and calculating the SHA-256 hash value of the file to be transmitted; comparing the CRC32 check code and the SHA-256 hash value with the expected verification value to obtain the verification result of the file to be transmitted.

[0131] Specifically, determine the file to be verified. Set the chunk size (e.g., 1MB or 2MB) and calculate the total number of chunks. The sender pre-calculates each fragment. The CRC32 value of (j∈[1,k]) (i.e. ) and the SHA-256 value of the file as a whole (i.e. expected_sha256), and transmit these expected values along with the file.

[0132] Further, a chunk verification is performed, i.e. the receiver divides the file fi into k pieces according to chunk_size ; calculates the CRC32 value of each piece one by one; compares the calculation results with the corresponding expected values, and if the CRC32 values of all pieces match the expected values, the chunk verification passes; if there is one piece that does not match, the chunk verification fails.

[0133] Further, an end-to-end verification is performed, i.e. the receiver calculates the SHA-256 hash value of the complete file ; compares the calculation result with expected_sha256, and if they match, the end-to-end verification passes; otherwise, it fails. Finally, the verification function determines whether Verify(fi) returns True, i.e. the file is confirmed to be complete, only when both the chunk verification and the end-to-end verification pass; and returns False, i.e. the file is determined to be incomplete, if either of the verifications fails.

[0134] S160, determining a file to be retried based on the verification result, and determining a retry success probability of the file to be retried based on an intelligent retry strategy, to determine whether to perform a retry transmission of the file to be retried based on the retry success probability.

[0135] In some optional embodiments, the determining of the retry success probability of the file to be retried based on the intelligent retry strategy, to determine whether to perform the retry transmission of the file to be retried based on the retry success probability, comprises: in a case where the number of retries is less than a preset number of times and the retry success probability is less than a preset success probability threshold, determining to perform the retry transmission of the file to be retried.

[0136] Specifically, the embodiments of the present application adopt an exponential backoff and adaptive adjustment combined retry strategy based on failure causes and historical statistics:

[0137]

[0138] Retry_interval(n, error_type) = base_interval * backoff_factor ^ error_weight(error_type) * network_condition_factor

[0139] Error type weight adjustment:

[0140] error_weight(error_type) = {

[0141] NETWORK_ERROR: 1.0, / / Network error, standard retry

[0142] SERVER_ERROR: 1.5, / / Server error, extend retry interval

[0143] AUTH_ERROR: 3.0, / / Authentication error, greatly extend retry interval

[0144] DISK_FULL: 2.0, / / Disk full, moderately extend retry interval

[0145] PERMISSION_DENIED: 4.0 / / Permission denied, longest retry interval

[0146] }

[0147] Network condition adjustment factor: network_condition_factor = 1 + (current_latency - baseline_latency) / baseline_latency

[0148] Where: current_latency: current network latency, unit: milliseconds. baseline_latency: baseline network latency, unit: milliseconds, typical value: 50ms. The higher the network latency, the longer the retry interval.

[0149] Retry success probability prediction model:

[0150] Where, : the probability of success of the nth retry, value range: [0, 1]. λ: success rate growth parameter, recommended value: 0.5.

[0151] : File Historical error rate at time t, calculated as:

[0152]

[0153] Where, : Number of failures in the last 100 transmissions of this file type. : Total number of transmissions of this file type in the last 100 transmissions. system_error_rate(t): System-wide error rate, based on all file types. exp(-λ×(1-error_rate)ⁿ): Exponential growth model, more retries lead to higher success probability

[0154] Retry decision algorithm as follows:

[0155] Retry condition judgment:

[0156] Should_retry(n, error_type, P_success) = (n < max_retry_count) ∧ (error_type!= FATAL_ERROR) ∧ (P_success > min_success_threshold)

[0157] Where, max_retry_count: Maximum number of retries, recommended value: 5. FATAL_ERROR: Fatal error (such as file does not exist), no retry. min_success_threshold: Minimum success probability threshold, recommended value: 0.1.

[0158] Retry priority adjustment:

[0159] The more retries, the higher the priority, to avoid long-term failure files being forgotten.

[0160] For example, assume that the second retry of a certain file, the error type is NETWORK_ERROR:

[0161] base_interval = 30 seconds

[0162] backoff_factor = 2

[0163] error_weight(NETWORK_ERROR) = 1.0

[0164] network_condition_factor = 1.2 (20% network delay)

[0165] Retry interval = 30 x 2 2 x 1.0 x 1.2 = 144 seconds

[0166] Assume the file historical error rate is 0.3, λ = 0.5:

[0167] P_success(2) = 1 - exp(-0.5 x (1 - 0.3) 2) = 1 - exp(-0.245) = 0.217

[0168] The success probability is about 21.7%, which exceeds the threshold of 10%, and the retry continues

[0169] In the preferred embodiment, the retry success rate of each error type can be continuously monitored, and the error_weight and λ parameters can be dynamically adjusted. When the retry success rate of a certain type of error continuously falls below the threshold, the corresponding error_weight value is increased.

[0170] The technical scheme of the embodiment of the application determines the feature vector of the file to be transmitted, wherein the feature vector includes file size, file type weight, file basic priority, target customer quantity, and file generation timestamp; determines the timeliness score, importance score, and transmission efficiency expectation corresponding to the file to be transmitted based on the feature vector; determines the dynamic priority of the file to be transmitted based on the timeliness score, importance score, and transmission efficiency expectation; obtains the bandwidth capacity and current load corresponding to each channel, determines the channel utility value and compatibility score of each channel to the file to be transmitted based on the bandwidth capacity and current load, and determines the target channel corresponding to the file to be transmitted based on the channel utility value, compatibility score, and dynamic priority; transmits the file to be transmitted based on the target channel, and determines the network quality factor, file size adjustment factor, priority acceleration factor, and adaptive adjustment factor in the transmission process, and dynamically adjusts the transmission rate of the file to be transmitted based on the network quality factor, file size adjustment factor, priority acceleration factor, adaptive adjustment factor, and feature vector; in the process of transmitting the file to be transmitted, the file to be transmitted is checked based on the fragment checksum and end-to-end checksum to obtain the checking result of the file to be transmitted; determines the file to be retried based on the checking result, and determines the retry success probability of the file to be retried based on the intelligent retry strategy, to determine whether to perform the retry transmission of the file to be retried based on the retry success probability. The technical scheme establishes an intelligent file distribution scheduling algorithm, a dynamic load balancing mechanism, and an adaptive retry strategy, solves the problems of low distribution efficiency, poor customer demand adaptability, and insufficient transmission reliability in the prior art, and significantly improves the transmission efficiency of semiconductor test data and the overall performance of the system.

[0171] Figure 2A flowchart of another file distribution method of a semiconductor test machine cluster provided by an embodiment of the application is shown in FIG. 10. When a fault of packet loss rate, delay or no response exceeding a threshold is detected, the embodiment can trigger fast rerouting, and select a target path with the minimum total cost from alternative paths according to the dynamic weight of each edge. Figure 2 The method specifically includes the following steps:

[0172] S210, determining a feature vector of a file to be transmitted.

[0173] The feature vector includes file size, file type weight, file basic priority, target client quantity and file generation timestamp.

[0174] S220, determining a timeliness score, an importance score and a transmission efficiency expectation of the file to be transmitted based on the feature vector, and determining a dynamic priority of the file to be transmitted based on the timeliness score, the importance score and the transmission efficiency expectation.

[0175] S230, obtaining a bandwidth capacity and a current load corresponding to each channel, determining a channel utility value and a compatibility score of each channel to the file to be transmitted based on the bandwidth capacity and the current load, and determining a target channel corresponding to the file to be transmitted based on the channel utility value, the compatibility score and the dynamic priority.

[0176] S240, transmitting the file to be transmitted based on the target channel, and determining a network quality factor, a file size adjustment factor, a priority acceleration factor and an adaptive adjustment factor in the transmission process, and dynamically adjusting a transmission rate of the file to be transmitted based on each factor and the feature vector.

[0177] S250, verifying the file to be transmitted based on a fragment checksum and an end-to-end checksum in the process of transmitting the file to be transmitted, to obtain a verification result of the file to be transmitted.

[0178] S260, determining a file to be retried based on the verification result, and determining a retry success probability of the file to be retried based on an intelligent retry strategy, to determine whether to perform retry transmission of the file to be retried based on the retry success probability.

[0179] S270, constructing a network topology graph containing nodes and edges in the process of transmitting the file to be transmitted, and calculating a dynamic weight of each edge according to a preset update period by using an improved Dijkstra algorithm.

[0180] The nodes correspond to network devices, and the edges represent connections between devices; the dynamic weight is obtained by weighting a delay index, a reliability index and a congestion index through a preset coefficient;

[0181] S280、When detecting that the edge appears packet loss rate, delay or no response threshold fault, trigger fast reroute, select the total cost minimum from the alternative path as the target path according to the dynamic weight of each edge.

[0182] In the embodiment of the application, the total cost minimum is selected from the alternative path as the target path according to the dynamic weight of each edge, comprising: determining the sum of the weights of all edges on each of the alternative paths, and adding the path length penalty to obtain the total path cost corresponding to each of the alternative paths; selecting the alternative path with the minimum total path cost as the target path.

[0183] Specifically, a network topology graph G=(V,E) is established, where V is a node set and E is an edge set.

[0184] The optimal transmission path is calculated using the improved Dijkstra algorithm:

[0185]

[0186] The fault recovery mechanism can be to trigger fast reroute when detecting path failure:

[0187]

[0188] Wherein, the network topology graph is defined as:

[0189] G=(V,E): Network topology represented by a directed graph

[0190] V: Node set, including test machines, routers, switches, target servers, etc.

[0191] |V|: Total number of nodes, typical value: 10-100

[0192] E: Edge set, representing network connections, each edge connecting nodes and

[0193] |E|: Total number of edges, usually |E|≤|V|×(|V|-1)

[0194] Edge weight calculation parameters:

[0195] : Weight value of edge , dimensionless, value range: [0,10]

[0196] α,β,γ: Weight coefficients, satisfying α+β+γ=1, recommended value: 0.4, 0.3, 0.3

[0197] Path quality index:

[0198] Delay metric:

[0199]

[0200] where, : edge actual delay in milliseconds. max_acceptable_delay: maximum acceptable delay, recommended value: 100ms. normalized_delay: normalized delay, value range: [0, 1].

[0201] Reliability metric:

[0202]

[0203] where, successful_transmissions: number of successful transmissions, based on the last 1000 transmissions. total_transmissions: total number of transmissions. reliability: reliability score, value range: [0, 1].

[0204] Congestion metric:

[0205]

[0206] where, current_utilization: current utilization in MB / s. max_capacity: maximum capacity in MB / s. congestion: congestion level, value range: [0, 1].

[0207] Improved Dijkstra algorithm:

[0208] Traditional Dijkstra algorithm:

[0209] d[v] = min{d[u] + weight(u, v) | (u, v) ∈ E, u has been visited}

[0210] d[v]: shortest distance from the source node to node v

[0211] weight(u, v): static weight of edge (u, v)

[0212] Only static weight is considered, not suitable for dynamic network environment

[0213] Improved dynamic Dijkstra:

[0214] d[v] = min{d[u] + Weight(u, v, t) | (u, v) ∈ E, u has been visited}

[0215] Weight(u, v, t): Dynamic weight of edge (u, v) at time t

[0216] Recalculate optimal path every 30 seconds to adapt to network condition changes

[0217] Algorithm steps:

[0218] 1. Initialization: Set source node distance to 0, other nodes distance to infinity

[0219] 2. Select the node u with the smallest distance among unvisited nodes

[0220] 3. Update distance for all neighbors v of u: d[v] = min(d[v], d[u] + Weight(u, v, t))

[0221] 4. Mark u as visited

[0222] Repeat steps 2-4 until all nodes are visited

[0223] Time complexity analysis:

[0224] Basic implementation: O(|V|²), suitable for dense graphs

[0225] Priority queue optimization: O((|V| + |E|) × log|V|), suitable for sparse graphs

[0226] Fibonacci heap optimization: O(|V| × log|V| + |E|), theoretically optimal

[0227] Practical application: For medium-sized networks (|V| ≤ 100), choose O(|V|²) implementation for simplicity and effectiveness

[0228] Dynamic weight update strategy:

[0229] Weight_update_interval = max(min_interval, network_stability_factor × base_interval)

[0230] Where min_interval: minimum update interval, recommended value: 10 seconds. base_interval: base update interval, recommended value: 30 seconds. network_stability_factor: network stability factor, value range: [0.5, 2.0].

[0231] The more unstable the network, the more frequent the updates

[0232] Fault detection mechanism:

[0233]

[0234] where, : packet loss threshold, recommended value: 0.05 (5%). : delay threshold, recommended value: 200 ms. : unresponsive timeout threshold, recommended value: 10 seconds.

[0235] Backup path selection:

[0236] : file all feasible path set

[0237] Total_cost(path): total cost of path, calculation formula:

[0238]

[0239] path_length_penalty: path length penalty, avoid selecting too long path

[0240] Fault recovery process:

[0241] Fault detection:

[0242] Real-time monitoring of all edge states

[0243] When a fault is detected, trigger the rerouting mechanism

[0244] Response time: <5 seconds

[0245] Backup path calculation:

[0246] Exclude faulty edges and recalculate the optimal path

[0247] Consider load balancing to avoid all traffic concentrated on a single path

[0248] Calculation time: <1 second

[0249] Seamless switching:

[0250] Maintain the existing connection state

[0251] New requests use backup paths

[0252] Failed transmission is automatically rerouted

[0253] Exemplarily: Suppose there is an edge in the network :

[0254] actual_delay = 80 ms, max_acceptable_delay = 100 ms

[0255] reliability = 0.95 (95% success rate)

[0256] congestion = 0.6 (60% utilization)

[0257] Weight calculation:

[0258] latency = 80 / 100 = 0.8

[0259] reliability_cost = 1 - 0.95 = 0.05

[0260] congestion = 0.6

[0261] Weight = 0.4 x 0.8 + 0.3 x 0.05 + 0.3 x 0.6 = 0.515

[0262] When reliability < 0.9, trigger fault detection, and the system automatically calculates the backup path.

[0263] The technical scheme of the embodiment of the application determines the feature vector of the to-be-transmitted file, wherein the feature vector includes file size, file type weight, file basic priority, target customer quantity, and file generation timestamp; determines the timeliness score, importance score, and transmission efficiency expectation corresponding to the to-be-transmitted file based on the feature vector, determines the dynamic priority of the to-be-transmitted file based on the timeliness score, importance score, and transmission efficiency expectation; obtains the bandwidth capacity and current load corresponding to each channel, determines the channel utility value and compatibility score of each channel to the to-be-transmitted file based on the bandwidth capacity and current load, and determines the target channel corresponding to the to-be-transmitted file based on the channel utility value, compatibility score, and dynamic priority; transmits the to-be-transmitted file based on the target channel, and determines the network quality factor, file size adjustment factor, priority acceleration factor, and adaptive adjustment factor in the transmission process, and dynamically adjusts the transmission rate of the to-be-transmitted file based on the network quality factor, file size adjustment factor, priority acceleration factor, adaptive adjustment factor, and feature vector; in the process of transmitting the to-be-transmitted file, the to-be-transmitted file is checked based on the fragment checksum and end-to-end checksum to obtain the checking result of the to-be-transmitted file; determines the to-be-retried file based on the checking result, and determines the retry success probability of the to-be-retried file based on the intelligent retry strategy, to determine whether to perform the retry transmission of the to-be-retried file based on the retry success probability. The technical scheme establishes an intelligent file distribution scheduling algorithm, a dynamic load balancing mechanism, and an adaptive retry strategy, solves the problems of low distribution efficiency, poor customer demand adaptability, and insufficient transmission reliability in the prior art, and can realize efficient, reliable, and personalized distribution of test files, and significantly improves the transmission efficiency of semiconductor test data and the overall performance of the system.

[0264] Figure 3A structural schematic diagram of a file distribution device of a semiconductor test machine cluster is provided for an embodiment of the present application. As shown in the figure, the device comprises: Figure 3

[0265] A feature vector determination module 310 is configured to determine a feature vector of a file to be transmitted, wherein the feature vector comprises a file size, a file type weight, a file basic priority, a target client quantity, and a file generation timestamp;

[0266] A dynamic priority determination module 320 is configured to determine a timeliness score, an importance score, and a transmission efficiency expectation of the file to be transmitted based on the feature vector, and determine a dynamic priority of the file to be transmitted based on the timeliness score, the importance score, and the transmission efficiency expectation;

[0267] A target channel determination module 330 is configured to obtain a bandwidth capacity and a current load of each channel, determine a channel utility value and a compatibility score of each channel for the file to be transmitted based on the bandwidth capacity and the current load, and determine a target channel corresponding to the file to be transmitted based on the channel utility value, the compatibility score, and the dynamic priority;

[0268] A transmission rate adjustment module 340 is configured to transmit the file to be transmitted based on the target channel, and determine a network quality factor, a file size adjustment factor, a priority acceleration factor, and an adaptive adjustment factor during the transmission process, and dynamically adjust a transmission rate of the file to be transmitted based on the network quality factor, the file size adjustment factor, the priority acceleration factor, the adaptive adjustment factor, and the feature vector;

[0269] A verification result determination module 350 is configured to verify the file to be transmitted based on a fragment verification and an end-to-end verification during the transmission process of the file to be transmitted, and obtain a verification result of the file to be transmitted;

[0270] An intelligent retry module 360 is configured to determine a file to be retried based on the verification result, determine a retry success probability of the file to be retried based on an intelligent retry strategy, and determine whether to perform a retry transmission of the file to be retried based on the retry success probability.

[0271] Optionally, the dynamic priority determination module 320 is specifically configured to:

[0272] determine a time interval of the file to be transmitted based on the file generation timestamp, and calculate the timeliness score of the file to be transmitted based on the time interval and a maximum tolerable delay time;

[0273] ​Based on the target customer quantity and the maximum customer quantity, a normalized customer quantity is calculated, and based on at least one first preset weight coefficient, the file type weight, the normalized customer quantity and the file basis priority are weighted to obtain a file importance score;

[0274] A current network delay parameter is acquired, and the current network delay is multiplied by the file size to obtain the transmission efficiency expectation.

[0275] Optionally, the target channel determination module 330 is specifically configured to:

[0276] Based on the bandwidth capacity and the current load, a load rate factor is calculated, and based on a queue length corresponding to the channel and a queue penalty coefficient, a queue penalty factor is calculated;

[0277] The load rate factor is multiplied by the queue penalty factor to obtain the channel utility value;

[0278] The protocol matching degree, the customer matching degree and the reliability score corresponding to the channel are determined, and the protocol matching degree, the customer matching degree and the reliability score are multiplied to obtain the compatibility score;

[0279] According to the dynamic priority, the channel utility value and the compatibility score are substituted into an allocation decision function to obtain the target channel corresponding to the file to be transmitted.

[0280] Optionally, the verification result determination module 350 is specifically configured to:

[0281] The file to be transmitted is divided into k segments, a CRC32 check code of each segment is calculated, and a SHA-256 hash value of the file to be transmitted is calculated;

[0282] The CRC32 check code and the SHA-256 hash value are compared with an expected verification value to obtain the verification result of the file to be transmitted.

[0283] Optionally, the intelligent retry module 360 is specifically configured to:

[0284] In a case where the number of retries is less than a preset number and the retry success probability is less than a preset success probability threshold, it is determined to perform retry transmission on the file to be retried.

[0285] Optionally, during transmission of the file to be transmitted, the device further comprises a backup path switching module configured to:

[0286] A network topology graph containing nodes and edges is constructed, wherein the nodes correspond to network devices, and the edges represent connections between devices;

[0287] The improved Dijkstra algorithm is used to calculate the dynamic weight of each edge according to a preset update period, wherein the dynamic weight is based on a delay index, a reliability index and a congestion index, and is obtained by weighting through a preset coefficient;

[0288] When a fault of an edge appearing a packet loss rate, a delay or a non-response exceeding a threshold is detected, a fast re-routing is triggered, and a target path with a minimum total cost is selected from the alternative paths according to the dynamic weight of each edge.

[0289] Optionally, the selecting a target path with a minimum total cost from the alternative paths according to the dynamic weight of each edge comprises:

[0290] Determining the sum of the weights of all edges on each alternative path, and adding a path length penalty to obtain a total path cost corresponding to each alternative path;

[0291] Selecting an alternative path with a minimum total path cost as the target path.

[0292] The file distribution device of the semiconductor test machine cluster provided by the embodiment of the application can execute the file distribution method of the semiconductor test machine cluster provided by any embodiment of the application, and has the function modules and beneficial effects corresponding to the execution method.

[0293] Figure 4 A structural diagram of an electronic device for implementing the file distribution method of the semiconductor test machine cluster according to the embodiment of the application. The electronic device is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular telephones, smartphones, wearable devices (such as helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are merely examples, and are not intended to limit the implementations described and / or claimed in this document.

[0294] As Figure 4As shown, the electronic device 10 includes at least one processor 11, and a memory, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., communicatively connected to the at least one processor 11, where the memory stores a computer program executable by the at least one processor. The processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or loaded from the storage unit 18 into the random access memory (RAM) 13. Various programs and data required for the operation of the electronic device 10 can also be stored in the RAM 13. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

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

[0296] The processor 11 can be various general and / or special purpose processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 performs various methods and processes described above, such as the file distribution method of the semiconductor test machine cluster.

[0297] In some embodiments, the file distribution method of the semiconductor test machine cluster can be implemented as a computer program tangibly embodied in a computer readable storage medium, such as the storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the file distribution method of the semiconductor test machine cluster described above can be performed. Alternatively, in other embodiments, the processor 11 can be configured to perform the file distribution method of the semiconductor test machine cluster by any other appropriate means, such as by means of firmware.

[0298] The various embodiments of the systems and techniques described above can be implemented in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a load programmable logic device (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

[0299] Computer programs used to implement the processes of the application can be written in any combination of one or more programming languages. These computer programs can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the computer program

[0300] In the context of the present application, a computer-readable storage medium can be a tangible medium that can contain or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. The computer-readable storage medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium can be a machine-readable signal medium. More specific examples of the machine-readable storage medium will include one or more lines of a program of instructions in a transitory signal, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0301] To provide for interaction with a user, the systems and techniques described here can be implemented on an electronic device having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the electronic device. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.

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

[0303] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. A server can be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system, to solve the defects of large management difficulty and weak business scalability in traditional physical host and VPS service.

[0304] It should be understood that the various forms of flow shown above can be re-ordered, added to, or deleted from without departing from the scope of the present disclosure. For example, the steps recited in the present disclosure can be executed in parallel, executed in sequence, or executed in a different order, as long as the desired results of the present disclosure are achieved, and the present disclosure is not limited herein.

[0305] The specific embodiments described above are not intended to be limiting, and persons skilled in the art will appreciate that various modifications, combinations, sub-combinations and alternatives can be made to the specific embodiments without departing from the spirit and principles of the disclosure. Accordingly, the disclosure is not limited to the specific embodiments described above, but only by the scope of the appended claims.

Claims

1. A file distribution method for a cluster of semiconductor test handlers, the method comprising: The method comprises the following steps: determining a feature vector of a to-be-transmitted file, wherein the feature vector comprises a file size, a file type weight, a file basic priority, a target customer quantity, and a file generation timestamp; determining a timeliness score, an importance score, and a transmission efficiency expectation of the to-be-transmitted file based on the feature vector, and determining a dynamic priority of the to-be-transmitted file based on the timeliness score, the importance score, and the transmission efficiency expectation; obtaining a bandwidth capacity and a current load corresponding to each channel, determining a channel utility value and a compatibility score of each channel to the to-be-transmitted file based on the bandwidth capacity and the current load, and determining a target channel corresponding to the to-be-transmitted file based on the channel utility value, the compatibility score, and the dynamic priority; transmitting the to-be-transmitted file based on the target channel, and determining a network quality factor, a file size adjustment factor, a priority acceleration factor, and an adaptive adjustment factor in the transmission process, and dynamically adjusting a transmission rate of the to-be-transmitted file based on the network quality factor, the file size adjustment factor, the priority acceleration factor, the adaptive adjustment factor, and the feature vector; in the process of transmitting the to-be-transmitted file, checking the to-be-transmitted file based on a segment checksum and an end-to-end checksum to obtain a checking result of the to-be-transmitted file; determining a to-be-retried file based on the checking result, determining a retry success probability of the to-be-retried file based on an intelligent retry strategy, and determining whether to perform a retry transmission of the to-be-retried file based on the retry success probability; the step of determining the channel utility value and the compatibility score of each channel to the to-be-transmitted file based on the bandwidth capacity and the current load, and determining the target channel corresponding to the to-be-transmitted file based on the channel utility value, the compatibility score, and the dynamic priority, comprises: calculating a load rate factor based on the bandwidth capacity and the current load, and calculating a queue penalty factor based on a queue length corresponding to the channel and a queue penalty coefficient; multiplying the load rate factor and the queue penalty factor to obtain the channel utility value; determining a protocol matching degree, a customer matching degree, and a reliability score corresponding to the channel, and multiplying the protocol matching degree, the customer matching degree, and the reliability score to obtain the compatibility score; according to the dynamic priority, substituting the channel utility value and the compatibility score into a distribution decision function to obtain the target channel corresponding to the to-be-transmitted file.

2. The method of claim 1, wherein, the step of determining the timeliness score, the importance score, and the transmission efficiency expectation based on the feature vector, comprises: determining a time interval of the to-be-transmitted file based on the file generation timestamp, and calculating a timeliness score of the to-be-transmitted file based on the time interval and a maximum tolerable delay time; calculating a normalized customer quantity based on the target customer quantity and a maximum customer quantity, and weighting the file type weight, the normalized customer quantity, and the file basic priority based on at least one first preset weight coefficient to obtain a file importance score; multiplying the current network delay parameter by the file size to obtain the transmission efficiency expectation.

3. The method of claim 1, wherein, The file to be transmitted is checked based on the slice checksum and the end-to-end checksum, and a checking result of the file to be transmitted is obtained, including: The file to be transmitted is divided into k segments, the CRC32 check code of each segment is calculated, and the SHA-256 hash value of the file to be transmitted is calculated; The CRC32 check code and the SHA-256 hash value are compared with the expected check value to obtain the checking result of the file to be transmitted.

4. The method of claim 1, wherein, The retry success probability of the file to be retried is determined based on the intelligent retry strategy, and whether to perform the retry transmission of the file to be retried is determined based on the retry success probability, including: In the case that the number of retries is less than the preset number of times and the retry success probability is less than the preset success probability threshold, it is determined to perform the retry transmission of the file to be retried.

5. The method of claim 1, wherein, In the process of transmitting the file to be transmitted, the method further includes: A network topology graph containing nodes and edges is constructed, wherein the nodes correspond to network devices, and the edges represent the connections between the devices; An improved Dijkstra algorithm is used to calculate the dynamic weight of each edge according to a preset update period, wherein the dynamic weight is based on a delay index, a reliability index and a congestion index, and is obtained by weighting through a preset coefficient; When it is detected that the edge has a packet loss rate, a delay or a non-response threshold value fault, a fast reroute is triggered, and the total cost of the target path is selected from the alternative paths according to the dynamic weight of each edge.

6. The method of claim 5, wherein, The total cost of the target path is selected from the alternative paths according to the dynamic weight of each edge, including: The sum of the weights of all edges on each of the alternative paths is determined, and the path length penalty is added to obtain the total path cost corresponding to each of the alternative paths; The alternative path with the minimum total path cost is selected as the target path.

7. A file distribution apparatus for a cluster of semiconductor test machines, characterized by, It includes: A feature vector determination module is configured to determine a feature vector of a file to be transmitted, wherein the feature vector includes file size, file type weight, file basic priority, target customer quantity and file generation timestamp; A dynamic priority determination module is configured to determine a time sensitivity score, an importance score and a transmission efficiency expectation of the file to be transmitted based on the feature vector, and determine a dynamic priority of the file to be transmitted based on the time sensitivity score, the importance score and the transmission efficiency expectation; A target channel determination module is configured to obtain bandwidth capacity and current load corresponding to each channel, determine a channel utility value and a compatibility score of each channel for the file to be transmitted based on the bandwidth capacity and the current load, and determine a target channel corresponding to the file to be transmitted based on the channel utility value, the compatibility score and the dynamic priority; A transmission rate adjustment module is configured to transmit the file to be transmitted based on the target channel, and determine a network quality factor, a file size adjustment factor, a priority acceleration factor and an adaptive adjustment factor in the transmission process, and dynamically adjust the transmission rate of the file to be transmitted based on the network quality factor, the file size adjustment factor, the priority acceleration factor, the adaptive adjustment factor and the feature vector. The check result determination module is configured to check the to-be-transmitted file based on the segment checksum and the end-to-end check during transmission of the to-be-transmitted file, and obtain a check result of the to-be-transmitted file. The intelligent retry module is configured to determine a to-be-retried file based on the check result, determine a retry success probability of the to-be-retried file based on an intelligent retry strategy, and determine whether to perform retry transmission of the to-be-retried file based on the retry success probability. The target channel determination module is specifically configured to: calculate a load rate factor based on the bandwidth capacity and the current load, calculate a queue penalty factor based on a queue length corresponding to the channel and a queue penalty coefficient; multiply the load rate factor and the queue penalty factor to obtain the channel utility value; determine a protocol matching degree, a customer matching degree and a reliability score corresponding to the channel, and multiply the protocol matching degree, the customer matching degree and the reliability score to obtain the compatibility score; and according to the dynamic priority, substitute the channel utility value and the compatibility score into an allocation decision function to obtain a target channel corresponding to the to-be-transmitted file.

8. An electronic device, comprising: The electronic device comprises: at least one processor; and a memory connected in communication with the at least one processor; wherein the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to execute the semiconductor test machine cluster file distribution method of any one of claims 1-6.

9. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer instructions for enabling the processor to execute the semiconductor test machine cluster file distribution method of any one of claims 1-6 when executed.

Citation Information

Patent Citations

  • Delay tolerance time interval updating method and device, electronic equipment and medium

    CN114116807A

  • Fault automatic detection and repair method for self-healing intelligent power line

    CN118739184A