Ledger data assisted distributed high-speed railway mileage correction method

The distributed high-speed railway mileage correction method, which is assisted by ledger data and combined with a big data parallel computing framework, solves the problems of slow correction speed and low accuracy in traditional methods. It achieves efficient and accurate correction of high-speed railway mileage and helps railway maintenance personnel quickly locate abnormal defects.

CN117390006BActive Publication Date: 2026-07-21XI AN JIAOTONG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
XI AN JIAOTONG UNIV
Filing Date
2023-11-09
Publication Date
2026-07-21

AI Technical Summary

Technical Problem

Traditional manual mileage correction methods and serial algorithms are too slow in high-speed railway track inspection, which increases the difficulty of locating track anomalies and cannot meet the needs of high-efficiency railway defect detection.

Method used

A distributed high-speed railway mileage correction method using ledger data assistance is proposed. By reading track geometry detection data and ledger data, translation correction is performed using positioning and matching methods, and mileage correction is completed by equal division interpolation and alternating splicing methods. Distributed parallel computing is performed using the PySpark computing framework in the field of big data.

Benefits of technology

It achieves high efficiency and high accuracy in high-speed railway mileage correction, can quickly locate track anomalies, solves the problems of slow correction speed and low accuracy in traditional methods, and significantly improves the processing efficiency of railway inspection data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117390006B_ABST
    Figure CN117390006B_ABST
Patent Text Reader

Abstract

The application discloses a distributed high-speed railway mileage correction method assisted by account data, and comprises the following processes: reading detection data and account data of high-speed railway track geometry, finding matched detection curves of the account curves corresponding to each account data through positioning and matching, and then performing translation correction; the non-curve segments are corrected through an equal-division interpolation method, and the complete corrected data are obtained through alternate splicing. The application can assist railway technical personnel in performing the mileage correction of track geometry data, and solves the problem of slow mileage correction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the fields of railway track technology and big data parallel computing technology, and relates to a distributed high-speed railway mileage correction method assisted by ledger data. Background Technology

[0002] As my country's railway operations continue to expand, various railway defects are constantly emerging, posing a serious threat to the smooth, comfortable, and safe operation of trains. To ensure the safe operation of high-speed trains, the railway department uses advanced technologies such as track inspection vehicles and integrated inspection vehicles to regularly inspect the service status of track infrastructure, accumulating a large amount of dynamic track monitoring data. This dynamic monitoring data reflects the condition of railway defects. However, the original dynamic monitoring data may contain mileage deviations, which increases the difficulty for railway personnel to locate and verify the abnormal track positions on-site. Therefore, it is necessary to correct for these deviations before conducting anomaly detection to determine the health of the railway. With the advent of the big data era and the continuous accumulation of railway monitoring data, traditional manual mileage correction methods and automatic mileage correction methods using serial algorithms are no longer applicable due to their slow correction speed. Summary of the Invention

[0003] The purpose of this invention is to provide a distributed high-speed railway mileage correction method assisted by ledger data. This method can assist railway technicians in mileage correction of track geometry data and solves the problem of slow mileage correction speed.

[0004] The technical solution adopted in this invention is a distributed high-speed railway mileage correction method assisted by ledger data, which includes the following process: reading the detection data and ledger data of high-speed railway track geometry, finding the detection curve that matches the ledger curve corresponding to each ledger data by positioning and matching, and then performing translation correction; then correcting the non-curved segments by equal division interpolation method, and obtaining the complete corrected data by alternating splicing.

[0005] The invention is further characterized by:

[0006] Specifically, the steps include the following:

[0007] Step 1: Collect track geometry dynamic detection data and corresponding ledger data during railway operations;

[0008] Step 2: Iterate through and segment each data point of the ledger curve and record the index and start and end mileage of each mileage point corresponding to each ledger curve and the detection curve obtained by its extension;

[0009] Step 3: Register the ledger data as an RDD and obtain ledger-detection point pairs through distributed parallel processing. Use sliding window parallel calculation to obtain the maximum correlation coefficient and the matching detection data. Then, shift the matching detection data to align with the ledger data to complete the correction of the curve segment in mileage correction.

[0010] Step 4: Correct the non-curved segment portion of the mileage correction by equal division interpolation and then alternately splice them to complete the entire correction process.

[0011] In step 1, the track geometry detection data is railway data measured by the track geometry comprehensive detection train, while the ledger data is a ledger kept during track construction to record the geometric properties of each curve of the track.

[0012] The specific process of step 2 is as follows:

[0013] Step 2.1: Iterate through and segment each data point of the ledger curve, denoted as the ledger curve set vector X = (X1, X2, ... X...). T ), where T is the number of ledger curves corresponding to the railway to be corrected, and a single ledger curve vector. and These represent the starting and ending mileage points corresponding to the i-th ledger curve; P = (P1, P2, ..., P... T ) represents the set vector of indices for the ledger curves, where vector P contains... This is a vector consisting of the indices of the starting and ending mileage points corresponding to the i-th ledger curve;

[0014] Step 2.2: Define the ledger curves by extending them forward and backward by 2 kilometers respectively to obtain T detection dataset vectors corresponding to the T ledger curves, denoted as Y = (Y1, Y2, ..., Y...). T ), where Y i For X i The corresponding detection curve segments found by extending the mileage before and after (where i takes values ​​from 1 to T), the index set vector corresponding to these T detection curves is Q = (Q1, Q2, ... Q T ), in vector Q It is a vector consisting of the indices of the start and end points of the detection curve corresponding to the i-th ledger curve;

[0015] Step 2.3: Combine vectors X and P from Step 2.1 with vectors Q and Y from Step 2.2 to form a point set pair vector Z = (Z1, Z2, ... Zn). T ), where vector Z i =((X) i ,P i ),(Y i Q i)), where the value of i ranges from 1 to T.

[0016] The specific process of step 3 is as follows:

[0017] Step 3.1: Prepare the data for calculating the Pearson correlation coefficient, resulting in RDD5;

[0018] Step 3.2: After completing the data preparation work in Step 3.1, a sliding window with a length equal to the number of mileage points on the ledger curve is used on each point set pair on RDD5. The sliding window is then used sequentially on the detection curve dataset Y. The Pearson correlation coefficient is calculated based on the mileage values ​​and superelevation values ​​of the ledger data and detection data, and RDD5 is transformed into RDD6.

[0019] Step 3.3: Save RDD6 locally using the Pearson correlation coefficients calculated in Step 3.2 through the collect() or aggregate() operator. Then, shift the detection curve corresponding to each maximum correlation coefficient to the corresponding ledger curve for alignment. This completes the correction of the curve segment in the mileage correction task.

[0020] The specific process of step 3.1 is as follows:

[0021] Step 3.1.1: Register the ledger data as RDD1 = parallelize(X);

[0022] Step 3.1.2: Use the cache() operator to store RDD1 in memory;

[0023] Step 3.1.3: Using the map() operator and defining the index() index function, X = (X1, X2, ... X) in RDD1 is indexed. T Convert the data to the index information corresponding to the start and end mileage points in the ledger: P = (P1, P2, ... P...). T This means that RDD1 is transformed into RDD2 = parallelize(P);

[0024] Step 3.1.4: Extend the ledger data by 2km using the map() operator and the round() function, and set X = (X1, X2, ... X... T Transform into Y = (Y1, Y2, ..., Y) T That is, RDD3 = parallelize(Y) is obtained through RDD1;

[0025] Step 3.1.5: Using the map() operator and the index() function, RDD3 is indexed to determine the start and end points Y = (Y1, Y2, ... Y...). T) is converted into the corresponding index information Q = (Q1, Q2, ... Q T This transforms RDD3 into RDD4 = parallelize(Q);

[0026] Step 3.1.6: Using the zip() operator, the ledger data and the detection data and their corresponding indexes are concatenated together, that is, by concatenating RDD1, RDD2, RDD3, and RDD4 to obtain RDD5 = parallelize(Z), and the unused RDD1 stored in memory is released using the unpersist() operator.

[0027] The specific process of step 3.2 is as follows:

[0028] Step 3.2.1, define the formula for calculating the Pearson correlation coefficient:

[0029]

[0030] in, This is the average value across all points on the road segment in the ledger. This is the average value for the tested road segment. i Let y be the i-th mileage point of the current ledger curve segment. i is the i-th mileage point of the corresponding detection curve segment, n is the total number of mileage points of the ledger curve segment, and r is the correlation coefficient between the current detection curve and the ledger curve.

[0031] Step 3.2.2: Continue using the map() operator on RDD5, defining the function as formula (1). Calculate the Pearson correlation coefficient between the subset of detection data of equal length to the ledger data and the ledger data in each ledger-detection data point pair using a sliding window. Then, take the largest correlation coefficient among all calculated correlation coefficients in each point pair, along with the index of the detection curve segment corresponding to this largest correlation coefficient. This transforms RDD5 into RDD6 = parallelize(M), where the vector M = (M1, M2, ... M...). T ),and For each pair of points, the detection curve index and the maximum correlation coefficient constitute the pair of points. Let r be the index of the detection curve with the largest correlation coefficient found for the i-th point set. i Let be the maximum correlation coefficient of the i-th point pair.

[0032] The specific process of step 4 is as follows:

[0033] Step 4.1: For a railway segment with T ledger records, there are T+1 non-curved segments. For non-curved segments that are not at the beginning or end, the corresponding positions are the end point of the previous detected curved segment and the start point of the next detected curved segment. The start and end indices of the non-curved ends are calculated using the following formula (2):

[0034]

[0035] in, Let be the start and end index of the i-th non-curved segment. This is the termination index of the previous maximum correlation coefficient detection curve. This serves as the starting index for the subsequent maximum correlation coefficient detection curve;

[0036] Step 4.2: Based on the calculation results of Step 4.1, since the indices at the beginning and end are respectively the starting index of the total mileage starting point to the starting index of the first maximum correlation coefficient detection curve and the ending index of the last maximum correlation coefficient detection curve to the total mileage ending point, the non-curved segment of the original detection curve is corrected by equal division interpolation. After the interpolation calculation is completed, the correction of the non-curved segment of the railway mileage is completed, and the corrected detection curve segment and the detection non-curved segment are merged by alternating splicing.

[0037] The beneficial effects of this invention are that it discloses a distributed high-speed railway mileage correction method assisted by ledger data, which can effectively correct mileage deviations in track inspection data. Furthermore, it utilizes the PySpark computing framework from the big data field to optimize the original algorithm into a distributed parallel computing method, resulting in a highly efficient mileage correction method. This invention combines railway track technology with big data parallel computing to ultimately obtain a highly efficient and accurate mileage correction algorithm model. It can assist railway maintenance personnel in quickly correcting railway mileage, thereby more easily locating the specific location of abnormal defects on railway tracks, effectively solving the problems of low accuracy and slow correction efficiency in current high-speed railway track geometric mileage correction methods. Attached Figure Description

[0038] Figure 1 This is a flowchart illustrating the distributed high-speed railway mileage correction method assisted by ledger data of the present invention.

[0039] Figure 2 A schematic diagram of the railway track geometry ledger curve provided for the distributed high-speed railway mileage correction method assisted by ledger data of the present invention.

[0040] Figure 3 This is a schematic diagram showing the positional relationship between the original detection data curve and its corresponding ledger curve.

[0041] Figure 4This is a schematic diagram showing the positional relationship between the detection curve after mileage correction and its corresponding ledger curve using the distributed high-speed railway mileage correction method assisted by the ledger data of this invention.

[0042] Figure 5 This diagram illustrates the efficiency comparison between the distributed parallel mileage correction algorithm provided by this invention and the traditional serial logic algorithm on real railway section data, which is used as an auxiliary method for distributed high-speed railway mileage correction based on ledger data. Detailed Implementation

[0043] The present invention will now be described in detail with reference to the accompanying drawings and specific embodiments.

[0044] This invention provides a distributed high-speed railway mileage correction method assisted by ledger data. It collects real track geometry dynamic detection data and corresponding ledger data from railway operations (this embodiment selects partial test data from the Shanghai-Kunming line). After sequentially traversing and segmenting each data point of the ledger curve and extending it forward and backward to find the corresponding dynamic detection data to form point sets, it uses a sliding window to traverse the point sets and calculates the segment with the highest Pearson correlation coefficient between the dynamic detection data and the ledger data, then shifts it to the corresponding ledger curve segment. Next, it corrects the mileage points of non-curved segments using equal division interpolation. Then, it obtains complete corrected data through alternating splicing. The serial logic algorithm is then optimized and stored in RDD form using the PySpark computing engine framework, and improved into parallel logic through various operators. Finally, the parallel algorithm and the serial algorithm are evaluated and compared to obtain the optimized result, thus improving the calculation speed of the original mileage correction algorithm and assisting railway maintenance personnel in railway diagnosis.

[0045] Example 1

[0046] See Figure 1 The distributed high-speed railway mileage correction method assisted by ledger data of the present invention includes the following steps:

[0047] S1, Collect track geometry dynamic detection data and corresponding ledger data during railway operations. The specific process is as follows:

[0048] By using specialized dynamic detection trains equipped with several specialized sensors, real track geometry dynamic detection data is collected during railway operations. Corresponding log records are also consulted to obtain the relevant log data for the railway. These log records refer to the information recorded by railway personnel during the construction of high-speed railways, including the curve segment number, track number, line type, starting mileage, ending mileage, turning direction, radius, total length, superelevation, and starting and ending transition lengths. Mileage information not listed in the table is considered a non-curved segment. The railway track log information recorded at the beginning of high-speed railway construction is shown in Table 1 below. Because railway curves are designed to balance centrifugal forces, railway construction personnel intentionally design the outer rail height to be higher to prevent train derailment accidents. Therefore, the log information table can be used to construct a superelevation baseline data sequence to reflect the ideal curve location of the railway. The mileage-superelevation log curve pattern drawn based on the log information is shown below. Figure 2 As shown. Because the initial and final transition lengths of the curve are equal in railway design, each entry in the ledger corresponds to a standard isosceles trapezoid. The horizontal axis of the ledger curve represents the mileage value, and the vertical axis represents the superelevation value.

[0049] Table 1

[0050]

[0051] S2, sequentially traverse and segment each data point of the ledger curve and record the index and start and end mileage of each mileage point corresponding to each ledger curve and its extended detection curve. Specifically, the process involves first analyzing the positional differences between the ledger curve drawn from the corrected front-end ledger information and the detection curve drawn from the detection data, such as... Figure 3 As shown. Each data point of the ledger curve is sequentially traversed and segmented, denoted as the ledger curve set vector X = (X1, X2, ... X...). T ), where T is the number of ledger curves corresponding to the railway to be corrected, and a single ledger curve vector. Let P be the starting and ending mileage points corresponding to the i-th ledger curve (where i ranges from 1 to T). Let P = (P1, P2, ..., P...). T ) represents the set vector of indices for the ledger curves, where vector P contains... Let Y be a vector composed of the indices of the starting and ending mileage points corresponding to the i-th ledger curve (where i ranges from 1 to T). We also define the mileage range of the detection data to be obtained by extending the ledger curve forward and backward by 2 kilometers (2 kilometers is the 4 kilometers obtained by extending forward and backward from the mileage of the ledger data as the baseline; the starting mileage point of the ledger curve extends forward by 2 kilometers, and the ending mileage point extends backward by 2 kilometers. 2 kilometers is chosen here because, although the mileage deviation of railways accumulates unevenly in each segment, it generally does not exceed 2 kilometers). This yields the T detection dataset vectors corresponding to the T ledger curves, denoted as Y = (Y1, Y2, ..., Y...). T ), where Y i For X i The corresponding detection curve segments found by extending the mileage before and after (where i takes values ​​from 1 to T), the index set vector corresponding to these T detection curves is Q = (Q1, Q2, ... Q T ), Q This is a vector composed of the indices of the start and end points of the detection curve corresponding to the i-th ledger curve (where i ranges from 1 to T). Then, a point set vector Z = (Z1, Z2, ... Zn) is formed. T ), where vector Z i =((X) i ,P i ),(Y i Q i (where i takes values ​​from 1 to T).

[0052] S3 registers the ledger data as an RDD (Elastic Distributed Dataset in Spark) and obtains ledger-detection point pairs through distributed parallel processing. It then uses a sliding window to perform parallel computation to obtain the maximum correlation coefficient and the detection data that matches the maximum correlation coefficient. Finally, it shifts this matching detection data to align with the ledger data to complete the correction of the curve segment in the mileage correction. The specific process is as follows.

[0053] S3.1 First, prepare the data for calculating the correlation coefficient, specifically as follows:

[0054] ① Register the ledger data as RDD1 = parallelize(X);

[0055] ② Since RDD1 will be used multiple times later, the cache() operator is used to store RDD1 in memory to avoid the RDD being registered multiple times and wasting a lot of time.

[0056] ③ Then, by using the map() operator and defining the index() index function, the X = (X1, X2, ... X) in RDD1 is indexed. T Convert the data to the index information corresponding to the start and end mileage points in the ledger: P = (P1, P2, ... P...). T This means that RDD1 is transformed into RDD2 = parallelize(P);

[0057] ④ Then, extend the ledger data by 2km using the map() operator and the round() function, and set X = (X1, X2, ... X... T Transform into Y = (Y1, Y2, ..., Y) T That is, RDD3 = parallelize(Y) is obtained from RDD1.

[0058] ⑤ Then, using the map() operator and the index() function, the start and end points of the detected data Y = (Y1, Y2, ... Y) are indexed in RDD3. T ) is converted into the corresponding index information Q = (Q1, Q2, ... Q T This transforms RDD3 into RDD4 = parallelize(Q);

[0059] ⑥ Finally, the ledger data and detection data and their corresponding indexes are connected by the zip() operator, that is, by transforming RDD1, RDD2, RDD3, and RDD4 to obtain RDD5 = parallelize(Z), and the unused RDD1 stored in memory is released using the unpersist() operator.

[0060] S3.2, After completing the data preparation work in S3.1, a sliding window can be used on each point set pair in RDD5. The sliding window's length is equal to the number of mileage points on the ledger curve, and it is sequentially slid across the detection curve dataset Y. The Pearson correlation coefficient is calculated based on the mileage values ​​and superelevation values ​​of the ledger data and the detection data. Specifically:

[0061] ① Define the formula for calculating the Pearson correlation coefficient:

[0062]

[0063] in, This is the average value across all points on the road segment in the ledger. This is the average value for the tested road segment. i Let y be the i-th mileage point of the current ledger curve segment. i Let be the i-th mileage point of the corresponding detection curve segment, n be the total number of mileage points of the curve segment in the ledger, and r be the correlation coefficient between the two curves.

[0064] ② Continue using the map() operator on RDD5, defining the function as the calculation method in S3.2①. Using a sliding window, calculate the Pearson correlation coefficient between the subset of detection data of equal length to the ledger data and the ledger data in each ledger-detection data point pair. Then, take the largest correlation coefficient among all calculated correlation coefficients in each point pair, along with the index of the detection curve segment corresponding to this largest correlation coefficient. This transforms RDD5 into RDD6 = parallelize(M), where the vector M = (M1, M2, ... M... T ),and For each pair of points, the detection curve index and the maximum correlation coefficient constitute the pair of points. Let r be the index of the detection curve with the largest correlation coefficient found for the i-th point set. i Let be the maximum correlation coefficient of the i-th point pair.

[0065] S3.3 After completing the calculations in S3.2, RDD6 can be saved locally using the `collect()` or `aggregate()` operator. Then, the detection curves corresponding to each maximum correlation coefficient are shifted to align these detection curves with their corresponding ledger curves. This completes the correction of the curve segments in the mileage correction task.

[0066] S4, through equal-division interpolation, corrects the non-curved segment portion of the mileage correction and alternately splices the segments to complete the entire correction process. The specific process is as follows:

[0067] In step S4.1, following step S3, we obtain the mileage segments of all corrected detection curves (the curves are discrete detection curve segments). For a railway segment with T ledger records, there are T+1 non-curved segments. We can correct this part based on the detection curve segments before and after correction.

[0068] S4.2 According to S4.1, we can easily know that for non-curved segments that are not at the beginning or end, their corresponding positions are the end point of the previous detection curve segment and the beginning point of the next detection curve segment.

[0069] Right now

[0070]

[0071] in, Let be the start and end index of the i-th non-curved segment. This is the termination index of the previous (i-1)th maximum correlation coefficient detection curve. This is the starting index of the next (i-th) maximum correlation coefficient detection curve. The indices at the beginning and end are respectively the starting index from the total mileage starting point to the starting index of the first maximum correlation coefficient detection curve, and the ending index from the last maximum correlation coefficient detection curve to the total mileage ending point.

[0072] Therefore, the non-curved portion of the original detection curve can be directly corrected using equal-division interpolation. The formula for equal-division interpolation is:

[0073]

[0074] In this invention, α is the independent variable for mileage points, n represents the total number of mileage points in the current interpolated road segment, and N n (α) represents the superelevation function value obtained at each point after equal interpolation of the current n mileage points, f(α,α0), f(α0,α1,α2)...f(α0,α1,...,α) n ) represents the difference quotients of each order, α j (j=0,1,2...n) represents the mileage points of the non-curved segments of the detection data, and h is the node spacing (0.25 meters in mileage correction).

[0075] After the interpolation calculation is completed, the correction of the non-curved section of the railway mileage is completed, and the corrected detected curved section and detected non-curved section are merged by alternating splicing.

[0076] S4.3 After the calculations are completed according to the steps in S4.2, the entire mileage correction process can be completed by alternately splicing the mileage portion of the corrected curve segment obtained in S3 with the mileage portion of the non-curved segment obtained in S4 using the append() function.

[0077] Therefore, after segmenting and correcting the mileage of the curve segments and non-curved segments of the detection data and then stitching them together, we can obtain the following: Figure 4 The image shown is the corrected result.

[0078] Example 2

[0079] Taking the four ledger curves in Table 1 of Example 1 as an example, the mileage deviation of the railway section from 304km to 313km of line 3005 with row number 1 is corrected.

[0080] The first step is to review the ledgers corresponding to this line and extract the four ledger entries for this section of the railway.

[0081] The second step is to traverse and segment each record in the ledger and obtain their start and end mileage and index.

[0082] X = (X1, X2, X3, X4). Where X... iThese are the starting and ending mileage values ​​corresponding to each ledger curve.

[0083] X1 = (304.26, 304.562), X2 = (305.775, 306.544), X3 = (306.791, 308.762), X4 = (309.906, 312.886),

[0084] The index information is P = (P1, P2, P3, P4), which is the index of X in the generated ledger dataset. The corresponding detection dataset obtained after extension is defined as Y = (Y1, Y2, Y3, Y4), where Y... i It is the start and end mileage of the detection curve that extends forward and backward from each ledger curve.

[0085] Y1=(302.26,306.562), Y2=(303.775,308.544), Y3=(304.791,310.762), Y4=(307.906,314.886).

[0086] The index information is Q = (Q1, Q2, Q3, Q4), which is the index of Y on the detection dataset.

[0087] The third step is to obtain the required element set Z = (Z1, Z2, Z3, Z4) RDD according to the S3 process. Then, by calculating the mileage-ultra-elevation correlation coefficient set, we can obtain the four maximum correlation coefficients and the corresponding detection curves: M = (M1, M2, M3, M4) RDD. After saving it locally, we can perform translation to complete the mileage correction curve segment.

[0088] The fourth step involves finding five corresponding non-curved segments based on the indices of the translated M = (M1, M2, M3, M4), and then completing the mileage correction process by using the equal division interpolation method in S4.

[0089] Example 3

[0090] Figure 5Taking the actual railway mileage data of the Shanghai-Kunming High-Speed ​​Railway (0-2252km) as an example, this paper compares the running time of the distributed high-speed railway mileage correction method assisted by ledger data provided by this invention with that of the traditional serial mileage correction method within different railway mileage intervals. It can be seen that when the number of ledger curves is small, not exceeding one hundred, the computation speed of our distributed parallel correction method is approximately 8-9 times that of the traditional serial logic algorithm. Then, when the number of ledger curves is moderate, approximately one hundred to two hundred, the computation speed of the distributed parallel logic algorithm is approximately 10-11 times that of the traditional serial logic algorithm. And when the number of curves is large, approximately two hundred or more, the computation speed of the distributed parallel logic algorithm is increased to 12-13 times compared to the traditional serial logic algorithm.

[0091] Clearly, the larger the data volume, the greater the speed improvement of the improved distributed parallel computing logic algorithm compared to the traditional serial computing logic algorithm. This is of great significance for railway diagnostic and maintenance personnel in saving time and costs associated with mileage correction when dealing with large amounts of data, especially when processing massive datasets on the order of hundreds of billions.

[0092] in Figure 5 The hardware parameters of the big data cluster used for real data computation are shown below.

[0093] spark.default.parallelism=200

[0094] spark.driver.cores = 3

[0095] spark.driver.memory = 16g

[0096] spark.executor.cores = 3

[0097] spark.executor.instances = 20

[0098] spark.executor.memory = 8g

[0099] spark.num.executors = 25

[0100] spark.pyspark.driver.python= / user / bin / python3

[0101] Here, `spark.default.parallelism` refers to the default parallelism of the cluster, `spark.driver.cores` is the number of cores in the driver component of the cluster, `spark.driver.memory` is the memory size allocated to the driver component, `spark.executor.cores` is the number of tasks that can run in parallel in each executor, `spark.executor.instances` sets the total number of executor processes to be used to execute the Spark job, `spark.executor.memory` is the memory size allocated to each executor component in the cluster, `spark.num.executors` is the number of executors used, and `spark.pyspark.driver.python` specifies the path to the Python version.

Claims

1. A distributed high-speed railway mileage correction method assisted by ledger data, characterized in that: The process includes the following steps: reading the detection data and ledger data of high-speed rail track geometry; finding the detection curve that matches the ledger curve corresponding to each ledger data through positioning and matching; then performing translation correction; then correcting the non-curved segments through equal division interpolation; and obtaining the complete corrected data by alternating splicing. Specifically, the steps include the following: Step 1: Collect track geometry dynamic detection data and corresponding ledger data during railway operations; In Step 1, the track geometry detection data is railway data measured by a track geometry comprehensive detection train, while the ledger data is a ledger kept during track construction to record the geometric properties of each curve of the track. Step 2 involves sequentially traversing and segmenting each data point of the ledger curve and recording the index and start and end mileage of each mileage point corresponding to each ledger curve and its extended detection curve; the specific process of step 2 is as follows: Step 2.1: Iterate through and segment each data point of the ledger curve, denoted as the ledger curve set vector. ,in The number of ledger curves corresponding to the railway to be corrected, and the vector of a single ledger curve. , The first The starting and ending mileage points corresponding to each ledger curve; using The vector represents the set of indices of the ledger curve. In For the first A vector consisting of the indices of the starting and ending mileage points corresponding to each ledger curve; Step 2.2, define the ledger curve and extend it forward and backward by 2 kilometers respectively to obtain the curve. The corresponding ledger curve The detection dataset vector is ,in for The corresponding detection curve segments found by extending the mileage before and after, among which The value range is 1~ ,this The index set vector corresponding to each detection curve is: ,vector In For the first The vector consisting of the indices of the start and end points of the detection curve corresponding to each ledger curve. Step 2.3, the vector from step 2.1 ,vector Compared with the vector in step 2.2 ,vector Composition of point set pairs vector , where vector ,in The value range is 1~ ; Step 3 involves registering the ledger data as an RDD and obtaining ledger-detection point pairs through distributed parallel processing. A sliding window is used for parallel computation to obtain the maximum correlation coefficient and matching detection data. This matching detection data is then shifted to align with the ledger data, completing the correction of the curve segment in mileage correction. The specific process of step 3 is as follows: Step 3.1: Prepare the data for calculating the Pearson correlation coefficient. The specific process of step 3.1 is as follows: Step 3.1.1, register the ledger data as ; Step 3.1.2, using Operator will Stored in memory; Step 3.1.3, will In pass Operator usage The index function converts the starting and ending mileage points of the ledger data into index information. Soon Transformed into ; Step 3.1.4, will pass Operator usage The function will extend the ledger data by 2km before and after. Transform into That is, through get ; Step 3.1.5, will pass Operator usage The indexing function will detect the start and end points of the data. Converted into corresponding index information Soon Transformed into ; Step 3.1.6: Connect the ledger data and the detection data along with their corresponding indexes using the zip() operator, i.e., by... , , , Connect and convert to obtain And store the ones that are no longer used in memory. use The operator is released; Step 3.2, after completing the data preparation work in Step 3.1, use a sliding window to... For each point set on the curve dataset, a sliding window of length equal to the number of mileage points on the ledger curve is used. The Pearson correlation coefficient is calculated by sequentially sliding the data on the ledger and the mileage values ​​from the test data. Transform into 6; The specific process of step 3.2 is as follows: Step 3.2.1, define the formula for calculating the Pearson correlation coefficient: in, This is the average value across all points on the road segment in the ledger. To detect the average value of the road segment, The current ledger shows the curved road segment as the first Mileage points, For the corresponding detection curve segment Mileage points, This represents the total number of mileage points for the curved road segment in this ledger. This is the correlation coefficient between the current detection curve and the ledger curve; Step 3.2.2, for Continue using The operator, using a sliding window approach, sequentially calculates the Pearson correlation coefficients of all subsets of the detection data of equal length to the ledger data and the ledger data in each ledger-detection data point pair using formula (1). It then takes the largest correlation coefficient among all calculated correlation coefficients in each point pair, along with the index of the detection curve segment corresponding to this largest correlation coefficient, thereby... Transform into , where the vector ,and For each pair of points, the detection curve index and the maximum correlation coefficient constitute the pair of points. For the first The index of the detection curve with the largest correlation coefficient found for each point set. For the first The maximum correlation coefficient of a pair of point sets; Step 3.3, the Pearson correlation coefficient calculated in Step 3.2 is then processed using... Operator or Operator will Save it locally, and then shift the detection curve corresponding to each maximum correlation coefficient to the corresponding ledger curve for alignment. This completes the correction of the curve segment in the mileage correction task. Step 4: Correct the non-curved segment portion of the mileage correction by equal division interpolation and then alternately splice them to complete the entire correction process.

2. The distributed high-speed railway mileage correction method assisted by ledger data according to claim 1, characterized in that: The specific process of step 4 is as follows: Step 4.1, for a segment with The railway section recorded in the ledger information has... +1 non-curved segments. For non-curved segments that are not at the beginning or end, the corresponding positions are the end point of the previous detection curve segment and the start point of the next detection curve segment. The start and end indices of the non-curved ends are calculated using the following formula (2): in, For the first The start and end indices of each non-curved segment. This is the termination index of the previous maximum correlation coefficient detection curve. This serves as the starting index for the subsequent maximum correlation coefficient detection curve; Step 4.2: Based on the calculation results of Step 4.1, since the indices at the beginning and end are respectively the starting index of the total mileage starting point to the starting index of the first maximum correlation coefficient detection curve and the ending index of the last maximum correlation coefficient detection curve to the total mileage ending point, the non-curved segment of the original detection curve is corrected by equal division interpolation. After the interpolation calculation is completed, the correction of the non-curved segment of the railway mileage is completed, and the corrected detection curve segment and the detection non-curved segment are merged by alternating splicing.