A method for storing and retrieving radar monitoring data
By dividing the radar monitoring range into cells and using arrays and byte arrays to store the radar monitoring data, the problem of large data storage volume in radar monitoring is solved, and efficient data storage and retrieval are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-01
- Publication Date
- 2026-03-10
AI Technical Summary
In existing technologies, radar monitoring data requires a large amount of data and has low retrieval efficiency, resulting in excessive file space usage and long data processing time.
The radar monitoring range is divided into cells, and non-zero deformed data is stored using arrays and byte arrays. The data is written to a file in binary stream form, and a database table is established to record the stored information, thus optimizing the data storage and retrieval process.
It significantly reduces storage space requirements, shortens data retrieval time, improves data processing efficiency, and reduces file read time.
Smart Images

Figure CN115563066B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of radar monitoring technology, and specifically to a method for storing and retrieving radar monitoring data. Background Technology
[0002] Arc-type synthetic aperture deformation monitoring radar can achieve large-area deformation monitoring. Its monitoring range is a fan shape, divided into several sector cells by range and angular resolution. The monitoring result is the cumulative deformation value within each sector cell relative to the initial monitoring value. Because radar monitoring is area-based and requires short monitoring intervals, the amount of data obtained is large. However, during radar monitoring, only the ps point has deformation data; the deformation data for other points is zero, and the percentage of points with zero deformation data exceeds 50%.
[0003] In existing technologies, all radar monitoring data is stored as floating-point data in files, resulting in a large amount of floating-point data with a cumulative deformation value of 0, consuming a significant amount of file space. A single frame of radar monitoring data can reach several MB to tens of MB, and with a monitoring interval of 10 minutes, a day's monitoring data can reach 144 frames. Furthermore, each frame of radar monitoring data typically contains millions to tens of millions of monitoring values, and each frame of radar data is generally stored in a file. During data retrieval, the data stored in each file needs to be read sequentially. When analyzing historical radar data, it is necessary to access hundreds or even thousands of files from the past for a single cell, leading to excessively long data retrieval times and impacting data processing and analysis efficiency.
[0004] In summary, there is an urgent need for a radar monitoring data storage and retrieval method to solve the problems existing in the current technology. Summary of the Invention
[0005] The purpose of this invention is to provide a method for storing and retrieving radar monitoring data to solve the problem of large data storage volume in radar monitoring.
[0006] To achieve the above objectives, the present invention provides a radar monitoring data storage and retrieval method, comprising the following steps:
[0007] Step 1: Divide the radar monitoring range into M rows × N columns of cells. In the radar monitoring data of the t-th frame, the cumulative deformation value corresponding to the cell in the i-th row and j-th column is V. ij t , t≥1;
[0008] Step 2: Construct an array Z of length M×N t and indefinite length array L t When V ij t When = 0, for array Z tarray element Z ij t Assigning a value of 0 when V ij t When ≠0, for array Z t array element Z ij t Assign the value 1, and set V ij t Store in array L t middle;
[0009] Step 3: Array Z t The length is Len Z , take (Len) Z The remainder Y of ( / 32) Z If Y Z ≠0, in array Z t Add (32-Y) to the end Z ) zeros are used to construct an array Z t '; If Y Z =0, then Z t '=Z t ;
[0010] Step 4: Using array Z t Construct byte array B t , byte array B t Write to file F as a binary stream x In the array L, x≥1, then the array L is... t The value of each array element is converted to floating-point data and written sequentially to file F in binary stream form. x end;
[0011] Step 5: For the radar monitoring data of frame t+1, repeat steps 2 and 3;
[0012] When Z t+1 =Z t When, array L t+1 The value of each array element is converted to floating-point data and written sequentially to file F in binary stream form. x Finally, proceed to step six;
[0013] When Z t+1 ≠Z t At that time, create a new file F x+1 , byte array B t+1 Write to file F as a binary stream x+1 Then, array L t+1 The value of each array element is converted to floating-point data and written sequentially to file F in binary stream form. x+1 End; Proceed to step seven;
[0014] Step 6: After setting t = t + 1, repeat Step 5 until all radar monitoring data is stored.
[0015] Step 7: Let t = t + 1 and x = x + 1, then repeat Step 5 until all radar monitoring data is stored.
[0016] Preferably, step one further includes numbering the cells in M rows × N columns, with the cell in the i-th row and j-th column numbered O. ij Determined by expression 1):
[0017] O ij = (j-1)×M+i 1).
[0018] Preferably, in step four, the byte array B t Each byte in array Z contains 8 bits. t Each array element in ' is assigned to the byte array B in sequence. t Each and every one of them.
[0019] Preferably, step five further includes creating a database table TbFile to store F x The file name and its corresponding storage information include the start monitoring time, monitoring time interval, global frame number of the start radar monitoring data, and number of storage frames.
[0020] Preferably, step five further includes, when Z t+1 =Z t But file F x When the file size exceeds the limit, create a new file F. x+1 , byte array B t+1 Write to file F as a binary stream x+1 Then, array L t+1 The value of each array element in the file is converted to floating-point data and written to file F in sequence. x+1 Finally, proceed to step seven.
[0021] Preferably, the floating-point data is a 32-bit floating-point number.
[0022] Preferably, a radar monitoring data storage and retrieval method further includes step eight: when it is necessary to read the cumulative deformation value V of the cell in the i-th row and j-th column of the radar monitoring data in the t-th frame. ij t At that time, the stored cumulative deformation value V is confirmed through the database table TbFile. ij t The storage file, if the storage file is F x ;
[0023] From F x The file header truncation length is Len Q byte array B Q Len Q Determined by expression 2):
[0024]
[0025] byte array B Q Each element in the sequence is placed into array K in order, confirming the Oth element in array K. ij The values of array element Koij:
[0026] If Koij = 0, then V ij t =0, data reading complete;
[0027] If Koij = 1, then the top O values in the statistical array K are counted. ij The number W of array elements with a value of 1.
[0028] Preferably, a radar monitoring data storage and retrieval method further includes step nine, in file F x Starting from the Pth byte, take 4 consecutive bytes, convert these 4 bytes into 32-bit floating-point data, and you can obtain the cumulative deformation value V of the cell in the i-th row and j-th column in the t-th frame of radar monitoring data. ij t Where P is determined by expression 3):
[0029] P = Len Bt +4*(tk)+(W-1)*4+1 3);
[0030] Among them, Len Bt For byte array B t In file F x The length in bytes occupied, k is the record of the database table TbFile stored in file F x The global frame number of the initial radar monitoring data.
[0031] Preferred, Len Bt Determined by expression 4):
[0032]
[0033] Preferably, a radar monitoring data storage and retrieval method further includes step ten: after setting t = t + 1, repeat steps eight to nine to obtain the cumulative deformation value of the cell in the i-th row and j-th column in each frame of radar monitoring data, thereby obtaining the historical deformation information of the cell.
[0034] The application of the technical solution of the present invention has the following beneficial effects:
[0035] (1) In this invention, the cell deformation state is represented by a byte array B t Stored in file F x In the process, when the cell deformation state is the same in multiple consecutive frames of radar monitoring data, only the byte array B needs to be written once. t Furthermore, the non-zero deformation data of multiple consecutive frames of radar monitoring data with the same deformation state are written into the same file, avoiding the need for a large amount of data with a deformation of 0 to occupy the file's storage space after being converted into floating-point data. Through the data storage method in this application, the storage space corresponding to each frame of radar monitoring data in the file can be reduced by 94.5%, which can significantly reduce the storage space required.
[0036] (2) In this invention, when the deformation state of a cell changes, a new storage file is created, which can distinguish radar monitoring data of different deformation states. At the same time, F1, F2, F3...F are stored in the database table. n The filenames (where n is the total number of files) and their corresponding storage information include the starting monitoring time (time0), monitoring time interval (intvl), global frame number (k) of the starting radar monitoring data, and the number of stored frames (sumFrames) for each file. This facilitates the subsequent retrieval of radar monitoring data and helps reduce the time required for data retrieval.
[0037] (3) In this invention, when calling data, the byte array B during the call process is implemented through the Ceil function. Q The truncation ensures that an appropriate amount of data is extracted while representing the Oth data point. ij The values of the deformed states of each cell are extracted, and expression 2) ensures that the extracted byte array B is accurate. Q It can be converted into an integer number of 32-bit unsigned integers.
[0038] (4) In this invention, when calling data, the deformation state of the cell is first confirmed by reading the value of Koij. If the value of the deformation state of the cell is 0, then no deformation has occurred, and the cumulative deformation value corresponding to the cell can be confirmed to be 0. The entire file does not need to be read, which shortens the time of reading the file.
[0039] (5) In this invention, the data storage method in this application allows a single file to continuously store up to 500 frames of radar monitoring data, with a size of approximately 1.01 GB. The data retrieval method in this application significantly reduces the time required to read data compared to conventional reading methods. Using the traditional data retrieval method to read 500 deformation data points takes 1190 milliseconds, which is nearly 30 times the time required by the data retrieval method in this application.
[0040] (6) In this invention, multiple frames of radar data can be stored continuously in one file, and the file can be read by moving the cursor pointer, which greatly reduces the data reading time.
[0041] In addition to the objectives, features, and advantages described above, the present invention has other objectives, features, and advantages. The invention will now be described in further detail with reference to the figures. Attached Figure Description
[0042] The accompanying drawings, which form part of this application, are used to provide a further understanding of the invention. The illustrative embodiments of the invention and their descriptions are used to explain the invention and do not constitute an undue limitation of the invention. In the drawings:
[0043] Figure 1 This is a schematic diagram illustrating the division of the radar monitoring range into cells in an embodiment of this application;
[0044] Among them, 1. Radar monitoring range, 2. Cell. Detailed Implementation
[0045] The embodiments of the present invention will be described in detail below with reference to the accompanying drawings. However, the present invention can be implemented in many different ways as defined and covered by the claims.
[0046] Example:
[0047] See Figure 1 A radar monitoring data storage and retrieval method is described in this embodiment, which is applied to the storage and retrieval of monitoring data from a circular arc synthetic aperture radar.
[0048] A radar monitoring data storage and retrieval method includes steps one through ten, which can be divided into two parts: a storage method and a retrieval method. The storage method is implemented through steps one through seven, and the retrieval method is implemented through steps eight through ten.
[0049] The method for storing radar monitoring data includes the following steps:
[0050] Step 1: Divide the radar monitoring range 1 into M rows × N columns of cells 2. Rows are along the line of sight, with row numbers increasing from near to far. Columns are along the angular direction, with column numbers increasing clockwise. Each cell 2 is a sector-shaped cell. M is the number of cells in the distance direction, and N is the number of cells in the angular direction. The values of M and N are determined by the angular resolution Δθ, the distance resolution Δr, and the radar monitoring range. Number the M rows × N columns of cells, starting with the cell in the i-th row and j-th column, numbered O. ij Determined by expression 1):
[0051] O ij = (j-1)×M+i 1).
[0052] Where 1≤i≤M, 1≤j≤N, O ij The value range is 1, 2, 3, ..., M×N-1, M×N. In the radar monitoring data of the t-th frame, the cumulative deformation value corresponding to the cell in the i-th row and j-th column is V. ij t .
[0053] t≥1 is the global frame number corresponding to this frame of radar data.
[0054] In this embodiment, M = 6601 and N = 1500, meaning that there are 9,901,500 cumulative deformation values in each frame of radar monitoring data, of which 237,386 are non-zero cumulative deformation values, accounting for 2.4%.
[0055] Step 2: For the radar monitoring data of frame t, construct an array Z of length M×N. t and indefinite length array L t According to number O ij Traverse the cells in ascending order, when V ij t When = 0, for array Z t array element Z ij t Assigning a value of 0 when V ij t When ≠0, for array Z t array element Z ij t Assign the value 1, and set V ij t Store in array L t In the middle; after traversal, array L t The number of array elements in array Z and array Z t The number of array elements with a value of 1 is the same, 237386. This avoids writing the cumulative deformation values of a large number of cells that have deformed to 0 to subsequent files, reducing the amount of data stored in the files.
[0056] Step 3: Array Z t The length is Len Z , take (Len) Z The remainder Y of ( / 32) Z If Y Z ≠0, in array Z t Add (32-Y) to the end Z ) zeros are used to construct an array Z t '; If Y Z =0, then Z t '=Z t ;
[0057] In this embodiment, Len Z =9901500, remainder Y Z =28, in array Z t Adding four zeros to the end creates the array Z. t '.
[0058] Step 4: Using array Z t Construct byte array B t byte array B t Each byte in array Z contains 8 bits. t Each array element in ' is assigned to the byte array B in sequence. t Each element in the byte array B forms a one-to-one correspondence. Therefore, the byte array B... t The length (i.e., number of bytes) is (9901500+4) / 8 = 309422.
[0059] byte array B t Write to file F as a binary stream x In the array L, x≥1, then the array L is... t The value of each array element is converted to floating-point data and written sequentially to file F in binary stream form. x At the end; the floating-point data is a 32-bit floating-point number. The deformation state of each cell is recorded through a byte array Bt; that is, when a cell undergoes a non-zero deformation, the deformation state is recorded in the byte array Bt. t The corresponding bit in the byte array B has a value of 1. When the cell has not been deformed, the value in the byte array B is 1. t The corresponding bit in the array has a value of 0; the character array B is set to 0. t The array elements are concatenated into a string of 32 digits consisting of 0 and 1, and then the string is converted into 4 bytes for easy computer processing.
[0060] Step 5: Create a database table TbFile to store F x The file name and its corresponding storage information, including the start monitoring time, monitoring time interval, global frame number of the start radar monitoring data, and number of stored frames.
[0061] For the radar monitoring data of frame t+1, repeat steps two and three;
[0062] When Z t+1 =Z t When, array L t+1 The value of each array element is converted to floating-point data and written sequentially to file F in binary stream form. xFinally, proceed to step six; through this step, radar monitoring results with the same deformation state in multiple consecutive frames can be stored in the same file, and only the byte array B needs to be written to a file once. t This improves the convenience of radar monitoring data storage.
[0063] When Z t+1 ≠Z t At that time, create a new file F x+1 , byte array B t+1 Write to file F as a binary stream x+1 Then, array L t+1 The value of each array element is converted to floating-point data and written sequentially to file F in binary stream form. x+1 End; Proceed to step seven; For example, when B1 and L1 are stored in F1, if Z2≠Z1 for the second frame of radar monitoring data, it means that the deformation state of each cell in the second frame of radar monitoring data has changed. That is, the cell that did not deform in the first frame of radar monitoring data has deformed in the second frame of radar data. Create file F2, store B2 and L2 in F2, and store subsequent radar monitoring data through F2.
[0064] Based on actual monitoring, within the set monitoring period, the deformation state of each cell rarely changes frequently, and there is no frequent creation of new files.
[0065] When Z t+1 =Z t But file F x When the file size exceeds the limit, create a new file F. x+1 , byte array B t+1 Write to file F as a binary stream x+1 Then, array L t+1 The value of each array element in the file is converted to floating-point data and written to file F in sequence. x+1 Finally, proceed to step seven. In this embodiment, a single file F x The maximum file size is 2GB. For example, when the storage space for file F1 is insufficient (i.e., the file size exceeds 2GB), file F2 is created to store subsequent radar monitoring data, and the storage information corresponding to F1 and F2 is recorded in TbFile.
[0066] Step 6: After setting t = t + 1, repeat Step 5 until all radar monitoring data is stored.
[0067] Step 7: Let t = t + 1 and x = x + 1, then repeat Step 5 until all radar monitoring data is stored.
[0068] After storing all radar detection data, the database table TbFile stores F1, F2, F3...F n The filenames (where n is the total number of files) and their corresponding storage information include the starting monitoring time (time0), monitoring time interval (intvl), global frame number (k) of the starting radar monitoring data, and the number of stored frames (sumFrames) for each file. This facilitates the retrieval of subsequent radar monitoring data.
[0069] Traditional storage methods write all 9,901,500 monitoring values as 32-bit floating-point numbers to a file, occupying approximately 37.77MB of space. Using the storage method proposed in the application, all files... x It occupies approximately 2.08MB of storage space, significantly reducing the required storage space. This is because in this application, the byte array B... t Write to file F as a binary stream x In this process, the deformation status of each cell is confirmed. When deformation occurs, the value is 1, and when no deformation occurs, the value is 0. Only the cumulative deformation value of the deformed cells needs to be stored in the file, which greatly reduces the amount of data stored and saves file storage space.
[0070] Accessing radar monitoring data involves the following steps:
[0071] Step 8: When it is necessary to read the cumulative deformation value V from the cell in row i, column j in frame t of radar monitoring data. ij t At that time, the stored cumulative deformation value V is confirmed through the database table TbFile. ij t The storage file, if the storage file is F x ;
[0072] From F x The file header truncation length is Len Q byte array B Q Len Q Determined by expression 2):
[0073]
[0074] The Ceil function returns the smallest integer greater than or equal to the result of the expression within the parentheses, ensuring that an appropriate amount of data is truncated while representing the Oth integer. ij Extract the values of each cell's deformed state, while ensuring that the extracted byte array B... Q It can be converted into an integer number of 32-bit unsigned integers.
[0075] byte array B QEach element in the sequence is placed into array K in order, confirming the Oth element in array K. ij The values of array element Koij:
[0076] If Koij = 0, it means that the deformation state of this cell is no deformation, then V ij t =0, data reading complete;
[0077] If Koij = 1, then the top O values in the statistical array K are counted. ij The number of array elements with a value of 1 is W, and then proceed to step nine.
[0078] Step 9: In file F x Starting from the Pth byte, take 4 consecutive bytes, convert these 4 bytes into 32-bit floating-point data, and you can obtain the cumulative deformation value V of the cell in the i-th row and j-th column in the t-th frame of radar monitoring data. ij t Where P is determined by expression 3):
[0079] P = Len Bt +4*(tk)+(W-1)*4+1 3);
[0080] Among them, Len Bt For byte array B t The length in bytes occupied by file Fx, where k is the record of database table TbFile stored in file F. x The global frame number of the initial radar monitoring data.
[0081] Len Bt Determined by expression 4):
[0082]
[0083] Step 10: After setting t = t + 1, repeat steps 8 to 9 to obtain the cumulative deformation value (i.e., V) of the cell in the i-th row and j-th column in each frame of radar monitoring data. ij 1 V ij 2 V ij 3 ...), thereby obtaining the historical deformation information of the cell. The historical deformation information specifically includes the global frame number of each frame of radar monitoring data, the monitoring time of each frame of radar monitoring data, and the cumulative deformation value of the cell in each frame of radar monitoring data.
[0084] In this application, a single file continuously stores a maximum of 500 frames of radar monitoring data, with a size of approximately 1.01 GB, and the read number is O. ijThe 500 deformation data points in the file, represented by cell 313, were retrieved in just 40 milliseconds. In contrast, reading the same 500 deformation data points using traditional data retrieval methods would take 1190 milliseconds, nearly 30 times longer than this method. This is because opening and closing files takes considerable time when processing files on a computer. The data storage and retrieval method described in this application allows for the continuous storage of multiple frames of radar data in a single file, and file retrieval is achieved solely by moving the cursor pointer, significantly reducing data retrieval time.
[0085] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A radar monitoring data storage calling method, characterized by, The method comprises the following steps: Step one: divide the radar monitoring range into M rows x N columns of cells, in the tthframe of radar monitoring data, the cumulative deformation value corresponding to the cell in the ithrow and jthcolumn is t≥1; Step two: construct an array Z of length M x N t and an array L of indefinite length t ; when the array element t in the array Z is assigned a value of 0, when the array element t in the array Z is assigned a value of 1, and is stored in the array L t ; Step three: array Z t of length Len Z , take the remainder of (Len Z / 32) as Y Z , if Y Z ≠0, add (32-Y t ) zeros to the end of array Z Z to form array Z t '; if Y Z =0, then Z t '=Z t ; Step four: through the array Z t construct byte array B t , byte array B t in the form of a binary stream to file F x , x≥1, and the value of each array element in array L t is converted to a floating-point data type and sequentially written to file F x in the form of a binary stream; Step five: for the t+1 frame radar monitoring data, repeating step two and step three; When Z t+1 = Z t , the value of each array element in the array L t+1 is converted to floating-point data and sequentially written in binary stream form to the end of the file F x , and step six is entered. When Z t+1 ≠ Z t , a new file F x+1 is created, the byte array B t+1 is written into the file F x+1 in binary stream form, and the numerical value of each array element in the array L t+1 is converted into floating-point data and sequentially written into the file F x+1 at the end in binary stream form; step seven is entered. Step six: let t=t+1, repeating step five until the storage of all radar monitoring data is completed; Step seven: let t=t+1, x=x+1, repeating step five until the storage of all radar monitoring data is completed; Also included is numbering the M rows by N columns of cells, the number O of the cell in the i-th row and j-th column ij Determined by expression 1): O ij = (j - 1) x M + i 1); In step four, each byte of the byte array B t contains 8 bits, and each array element of the array Z t is assigned to each bit of the byte array B t in order.
2. The method of claim 1, wherein, In the step five, a database table TbFile is further established to store the file name and the corresponding storage information of the file, and the storage information includes the start monitoring time of the stored data, the monitoring time interval, the global frame sequence number of the start radar monitoring data, and the storage frame number. x of the file, and the storage information includes the start monitoring time of the stored data, the monitoring time interval, the global frame sequence number of the start radar monitoring data, and the storage frame number.
3. A method of radar monitoring data storage and retrieval as claimed in claim 2, wherein, The step five also includes, when Z t+1 = Z t , but the file size of file F x exceeds the limit, a new file F x+1 is established, the byte array B t+1 is written into file F x+1 in binary stream form, and the value of each array element in array L t+1 is converted into floating point data and sequentially written into file F x+1 at the end, and step seven is entered.
4. The method of claim 3, wherein, The floating point type data is 32-bit floating point number.
5. A method of radar monitoring data storage and retrieval as claimed in claim 4, wherein, Also included is step eight: when it is required to read the accumulated deformation value of the cell in the i-th row and j-th column in the t-th frame of radar monitoring data , the storage file storing the accumulated deformation value is confirmed through the database table TbFile , and if the storage file is F x ; From F x The file header truncation length is Len Q byte array B Q Len Q Determined by expression 2): Put each bit in the byte array B Q into array K in order, check the value of the O ij th element of array K, Koij. If Koij = 0, then Data read is complete; If Koij = 1, then the number W of array elements in the first O ij array elements in the statistical array K are 1.
6. A method of radar monitoring data storage and retrieval as claimed in claim 5, wherein, Also included is a step nine, in the file F x The accumulated deformation value of the cell in the i-th row and the j-th column in the t-th frame of radar monitoring data is obtained by converting the four bytes starting from the P-th byte in the file F where P is determined by expression 3): P = Len Bt + 4 * (t - k) + (W - 1) * 4 + 1 3); Wherein, Len Bt is the byte length of the byte array B t in the file F x , and k is the global frame number of the start radar monitoring data of the database table TbFile recorded in the file F x .
7. A method of radar monitoring data storage and retrieval as claimed in claim 6, wherein, Len Bt is determined by expression 4):
8. The method of claim 7, wherein, Further comprising step ten: let t=t+1, repeating step eight to step nine to obtain the cumulative deformation value of the i-th row and j-th column cell in each frame of radar monitoring data, thereby obtaining the historical deformation information of the cell.
Citation Information
Patent Citations
Deformation monitoring radar area data processing method
CN113932703A
Efficient erasure-coded storage in distributed data systems
US20210382858A1