A Satellite-Based Method and System for Processing Ocean Observation Data

Through satellite-based marine observation data processing methods, including data formatting, differential slicing, preprocessing, compression, encryption and channel coding, the problems of large data volume, high loss risk and poor confidentiality of marine observation devices are solved, and the data volume is reduced, communication efficiency is improved and security is enhanced.

CN119254386BActive Publication Date: 2025-07-11FIRST INSTITUTE OF OCEANOGRAPHY MNR +1

Patent Information

Application Number
CN202411450290.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-17
Publication Date
2025-07-11
Estimated Expiration
2044-10-17

AI Technical Summary

Technical Problem

The existing marine observation devices have large data volume, high risk of data loss and poor data confidentiality, especially in marine environments, the risk of communication link instability and signal distortion is high.

Method used

A satellite-based marine observation data processing method is constructed, including the steps of data formatting, differential slicing, preprocessing, compression, encryption and channel encoding, and transmit data to a terrestrial observation station through satellites.

Benefits of technology

Effectively compress data volume, improve communication efficiency, enhance data security and noise immunity, and reduce the risk of data loss and error reception.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119254386B_ABST
    Figure CN119254386B_ABST
Patent Text Reader

Abstract

The present invention relates to a satellite-based method and system for processing ocean observation data. The method includes: obtaining ocean observation data of an ocean observation device within a set time; formatting the ocean observation data to obtain a plurality of data slices; arranging the plurality of data slices based on timestamps, and for each data slice, calculating the difference between this data slice and an adjacent data slice with a smaller timestamp, and defining the difference as the differential slice data corresponding to this data slice; for each differential slice data, performing: preprocessing the differential slice data to obtain preprocessed data, and determining whether the preprocessed data meets the similarity requirement. If so, defining this differential slice data as data to be processed, otherwise defining the preprocessed data as data to be processed; performing compression, encryption, and channel coding on the data to be processed to obtain data to be sent; and sending the data to be sent to a land observation station. The present invention can simplify ocean observation data and improve the security of transmitting ocean observation data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of ocean observation, and in particular, to a satellite-based method and system for processing ocean observation data. Background Art

[0002] In the related art, ocean observation devices usually only simply compress the observation data and then send the observation data to a land observation station through wireless technology. However, the existing compression algorithms have the defect of low compression efficiency, resulting in a large amount of observation data. Due to the influence of the ocean environment on the ocean observation device, it is difficult to ensure the connection stability of the communication link. The larger the amount of data, the higher the risk of communication success rate and data loss. In addition, the confidentiality of the observation data is poor, and there is a risk of being stolen and read during the transmission process. Moreover, the observation data is affected by environmental noise during the transmission process, and there is a risk of signal distortion, resulting in the land observation station may obtain incorrect data. Summary of the Invention

[0003] The technical problem to be solved by the present invention is to provide a satellite-based method and system for processing ocean observation data to solve the problems of large amount of ocean observation data, high risk of data loss, and poor data confidentiality.

[0004] The technical solution adopted by the present invention to solve its technical problem is to construct a satellite-based method for processing ocean observation data for an ocean observation device. The ocean observation data processing method includes:

[0005] Obtaining the ocean observation data collected by the ocean observation device within a set time;

[0006] Formatting the ocean observation data according to timestamps to obtain a plurality of data slices that are in one-to-one correspondence with a plurality of timestamps and arranged based on a set data format;

[0007] Arranging the plurality of data slices in ascending order based on timestamps, and determining the difference slice data corresponding to each of the arranged data slices according to a set formula; wherein, the set formula is: ; represents the first difference slice data, represents the data slice with the earliest timestamp, represents the nth data slice, represents the nth difference slice data, represents the (n - 1)th data slice, and M corresponds to the total number of data slices within the set time;

[0008] For each of the said differential slice data, the following operations are performed: preprocess the differential slice data to obtain preprocessed data, and determine whether the preprocessed data meets the similarity requirement. If so, designate the differential slice data as data to be processed; otherwise, designate the preprocessed data as data to be processed;

[0009] Successively perform compression, encryption, and channel coding on all the said data to be processed to obtain data to be transmitted;

[0010] Establish a communication channel with a satellite to transmit the data to be transmitted to a land observation station via the satellite.

[0011] Preferably, the ocean observation data includes data collected for various observation information within the set time. The step of formatting the ocean observation data according to timestamps includes:

[0012] Classify various observation information collected under the same timestamp into a group of data to be merged respectively, so as to obtain multiple groups of data to be merged corresponding one by one to multiple timestamps;

[0013] For each group of the said data to be merged, the following operations are performed: generate a unique identification code, and generate an identification code data segment according to the identification code; generate a time data segment according to the timestamp of the data to be merged; generate test data segments corresponding one by one to each type of observation information included in the data to be merged respectively, to obtain multiple test data segments corresponding to various observation information; set the data length of each data segment based on a memory setting list; merge the identification code data segment, the time data segment, and the set data segment and each test data segment in a set column order to obtain a data slice corresponding to the data to be merged; wherein, the memory setting list includes byte settings for respectively setting the data lengths of various data segments.

[0014] Preferably, the step of preprocessing the differential slice data includes:

[0015] Eliminate all bits storing logical zeros in the differential slice data, and generate preprocessed data capable of representing the positions of all non-logical-zero bits according to the positions of the non-logical-zero bits;

[0016] The step of determining whether the preprocessed data meets the similarity requirement includes:

[0017] Determine whether the data length of the preprocessed data is greater than a preset length threshold. If so, determine that the preprocessed data meets the similarity requirement; otherwise, determine that the preprocessed data does not meet the similarity requirement.

[0018] Preferably, the step of successively performing compression, encryption, and channel coding on all the said data to be processed includes:

[0019] Compress the data to be processed through the Huffman compression algorithm to obtain plaintext;

[0020] Encrypt the plaintext through the AES encryption algorithm to obtain encrypted data;

[0021] Perform channel coding on the encrypted data to obtain data to be transmitted.

[0022] Preferably, the step of encrypting the plaintext through the AES encryption algorithm includes:

[0023] Obtain a key matrix; wherein the key matrix includes N groups of keys; N is a natural number greater than two;

[0024] Based on the N groups of keys and the plaintext, perform the following steps:

[0025] SS1. Encrypt and operate on the first group of keys and the plaintext based on a set encryption function to obtain data to be encrypted;

[0026] SS2. Perform byte substitution processing on the data to be encrypted to obtain substituted data;

[0027] SS3. Perform row shift processing on the substituted data to obtain shifted data;

[0028] SS4. Determine whether the number of groups of keys in the key matrix that have not been encrypted is greater than one. If so, execute SS5; if not, execute SS7;

[0029] SS5. Perform column mixing processing on the shifted data to obtain mixed data;

[0030] SS6. Encrypt and operate on the Mth group of keys and the plaintext based on the set encryption function to obtain a sub-ciphertext, use the sub-ciphertext as the latest data to be encrypted, and return to SS2; wherein, the initial value of M is 2, and M is incremented by one each time SS5 is executed;

[0031] SS7. Encrypt and operate on the Nth group of keys and the shifted data to obtain the encrypted data.

[0032] Preferably, before step SS1, it further includes:

[0033] Convert the plaintext into a state matrix of L×K composed of bytes, and each byte in the state matrix is represented in the form of a hexadecimal code; L and K are natural numbers greater than 1;

[0034] In SS2, the byte substitution processing includes:

[0035] Obtain a pre-defined S-box; wherein, the S-box is configured as a 16×16 element matrix arranged by 256 elements;

[0036] For each element in the state matrix, perform the following: use the high four bits of the byte stored in this element as the row value, the low four bits of this byte as the column value, take out the corresponding element in the S-box based on the row value and column value, and replace this byte with the element;

[0037] In the SS3, the row shift processing includes:

[0038] Shift the bytes in the first row of the state matrix by X byte units in the set direction;

[0039] Shift the bytes in the second row of the state matrix by Y byte units in the set direction;

[0040] Shift the bytes in the third row of the state matrix by Z byte units in the set direction;

[0041] Shift the bytes in the fourth row of the state matrix by J byte units in the set direction;

[0042] In the SS5, the column mixing processing includes:

[0043] Obtain a pre-defined K×L transformation matrix composed of bytes;

[0044] For each element in the state matrix, perform the following: take out all the bytes in the same column as this byte in the state matrix, and record the bytes taken out from the state matrix as the bytes to be operated; take out all the bytes in the transformation matrix whose row values are the same as the row value of this byte, and record the bytes taken out from the transformation matrix as the mixing bytes; substitute the bytes to be operated and all the mixing bytes into a predetermined mixing function to obtain the mixing value corresponding to this byte to be mixed;

[0045] After calculating the mixing values corresponding to all the bytes in the state matrix respectively, replace each byte in the state matrix with the corresponding mixing value.

[0046] Preferably, the step of performing channel coding on the encrypted data includes:

[0047] Judge whether the memory occupied by the encrypted data is less than the set memory threshold. If so, perform channel coding on the encrypted data through the Hamming coding algorithm. If not, perform channel coding on the encrypted data through a preset coding algorithm.

[0048] Preferably, the step of performing channel coding on the encrypted data through the Hamming coding algorithm includes:

[0049] Divide the encrypted data in units of four bits to obtain a number of data segments to be encoded;

[0050] Obtain a predetermined supervision relation formula; wherein, the supervision relation formula includes the operation relations between a plurality of supervision bits and the data segments to be encoded;

[0051] For each of the data segments to be encoded, perform the following operations: calculate the values of the supervision bits according to the supervision relation formula and the data segment to be encoded, and encode the supervision bits into the data segment to be encoded according to a predetermined coding sequence to obtain an encoded data segment.

[0052] Preferably, the step of performing channel coding on the encrypted data through a preset coding algorithm includes:

[0053] Encode the encrypted data based on the RS error correction coding algorithm to obtain an RS code;

[0054] Encode the RS code based on the convolutional error correction coding algorithm to obtain data after convolutional coding;

[0055] Encode the data after convolutional coding based on the interleaving coding algorithm to obtain the data to be transmitted.

[0056] The present invention also constructs a satellite-based marine observation data processing system for marine observation devices. The satellite-based marine observation data processing system includes a number of marine observation devices, a satellite, and a land observation station;

[0057] Among them, the marine observation device includes a main control module. The main control module includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the above-mentioned satellite-based marine observation data processing method are implemented.

[0058] Implementing the technical solution of the present invention can effectively compress the data volume of marine observation data, significantly reduce the data volume that the marine observation device needs to transmit, thereby improving the communication efficiency, playing a positive role in saving the power of marine observation data, and also encrypting and performing channel coding on the marine observation data, improving the security, communication success rate, and anti-noise performance of the marine observation data, thereby effectively preventing data loss and receiving incorrect information. Description of the Drawings

[0059] The present invention will be further described below in conjunction with the drawings and embodiments. In the drawings:

[0060] Figure 1 is a program flowchart of the satellite-based marine observation data processing method in some embodiments of the present invention;

[0061] Figure 2Schematic diagram of the memory setting list in some embodiments of the present invention;

[0062] Figure 3 Schematic diagram of the data structure of the data slice in some embodiments of the present invention;

[0063] Figure 4 Flowchart of the program of step S5 in some embodiments of the present invention;

[0064] Figure 5 Flowchart of the encryption process in some embodiments of the present invention;

[0065] Figure 6 Flowchart of the column mixing process in some embodiments of the present invention;

[0066] Figure 7 Flowchart of the channel coding in some embodiments of the present invention;

[0067] Figure 8 Flowchart of the channel coding in some other embodiments of the present invention;

[0068] Figure 9 Schematic diagram of the mechanism of the satellite-based ocean observation data processing system in some embodiments of the present invention. Detailed implementation manners

[0069] For a clearer understanding of the technical features, objectives, and effects of the present invention, the specific implementation manners of the present invention will now be described in detail with reference to the accompanying drawings.

[0070] It should be noted that the flowcharts shown in the accompanying drawings are only illustrative, and do not necessarily include all the contents and operations / steps, nor are they necessarily executed in the described order. For example, some operations / steps can be decomposed, while some operations / steps can be combined or partially combined. Therefore, the actual execution order may be changed according to the actual situation.

[0071] The block diagrams shown in the accompanying drawings are only functional entities, and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software form, or implemented in one or more hardware modules or integrated circuits, or implemented in different networks and / or processor devices and / or microcontroller devices.

[0072] The present invention provides a satellite-based ocean observation data processing method, which is used in the main control module included in an ocean observation device. The ocean observation device can be a buoy or a submersible buoy, and is mainly used to collect ocean information, generate ocean observation data based on the ocean information, and transmit the ocean observation data. In addition, as Figure 9As shown in the figure, the ocean observation device further includes a sensor module for collecting ocean information and outputting ocean observation data, and an antenna module for realizing wireless communication.

[0073] Please refer to Figure 1 , the ocean observation data processing method includes steps S1, S2, S3, S4, S5 and S6.

[0074] Please refer to Figure 1 , step S1 includes: obtaining the ocean observation data collected by the ocean observation device within a set time. In this step, the ocean observation device collects ocean information through the sensor module and generates ocean observation data based on the collected ocean information. Among them, the sensor module can be composed of multiple sensors to collect various types of ocean information, such as collecting seawater temperature through a temperature sensor, collecting seawater salinity through a salinity sensor, measuring seawater flow velocity through a flow sensor, determining the real-time longitude and latitude of the ocean observation device through a GPS module, collecting seawater oxygen content through an oxygen content sensor, etc.

[0075] In addition, the set time can be custom-set according to the actual data collection volume of the ocean observation device. However, considering that the ocean observation device is affected by the external environment (such as ocean current impact, biological intrusion, etc.) and there is a risk of failure at any time, the set time of buoy-type ocean observation devices can be 1 hour. On the one hand, it can avoid losing a large amount of observation data when the ocean observation device fails due to a long data processing cycle. On the other hand, it can avoid the ocean observation device from frequently performing data processing work, resulting in increased power consumption. It should be noted that the designed in-service life of the ocean observation device is generally more than one year, and the power is usually provided by a battery. When the device is not collecting and processing data, the device will enter a low-power mode to reduce energy consumption. If the set time is larger, it means that the ocean observation device will enter the normal working mode for a longer time. Therefore, the set time should not be set too long, otherwise it is easy to cause the ocean observation device to fail due to insufficient power before reaching the designed service life.

[0076] Please refer to Figure 1 , step S2 includes: formatting the ocean observation data according to the time stamp to obtain a plurality of data slices that are in one-to-one correspondence with a plurality of time stamps and arranged based on a set data format.

[0077] It should be noted that the sensor module collects ocean information at a certain frequency. For example, each sensor in the sensor module samples the corresponding information once per second. Understandably, ocean observation data includes multiple types of observation information collected by different sensor modules at multiple timestamps (including longitude, latitude, seawater salinity, seawater temperature, seawater flow velocity, seawater oxygen content, etc.). That is, ocean observation data includes data collected by various observation information within a set time. The purpose of this step is to extract multiple types of observation information collected at the same timestamp and reorganize the format of these observation information based on the timestamp to prepare for subsequent data processing.

[0078] In some embodiments, the formatting process of ocean observation data can be achieved by performing step S21 and step S22.

[0079] Step S21 includes: classifying multiple types of observation information collected at the same timestamp into a group of data to be merged respectively, so as to obtain multiple groups of data to be merged corresponding one by one to multiple timestamps. It should be noted that the main control module generates a timestamp associated with the multiple types of observation information collected each time it obtains the sensor module (the timestamp increases as the system operation time increases).

[0080] Step S22 includes: for each group of data to be merged, performing: generating a unique identification code corresponding to and for the data to be merged, generating an identification code data segment according to the identification code; generating a time data segment according to the timestamp corresponding to the data to be merged; respectively generating test data segments according to each type of observation information included in the data to be merged, so as to obtain multiple test data segments corresponding one by one to various observation information; setting the data length of each data segment based on the memory setting list; sorting and merging the identification code data segment, the time data segment, and the set data segment with each test data segment in a set order to obtain a data slice corresponding to the data to be merged; where the memory setting list includes byte values for respectively setting the data lengths of various data segments (including the identification code data segment, the time data segment, and each test data segment).

[0081] In this step, an existing identification code generation algorithm can be used to generate an identification code. For example, a unique identification code can be generated through a timestamp and a set arithmetic expression, and the identification code is converted into a binary representation, so that the above-mentioned identification code data segment can be obtained. Similarly, converting the timestamp into a binary representation can obtain the time data segment; respectively converting each type of observation information into a binary representation can obtain the test data segment corresponding to the observation information.

[0082] In some embodiments, the memory setting list can refer to Figure 2 。

[0083] In some embodiments, reference may be made to Figure 3 to merge the identification code data segment, the time data segment, and the set data segment with each test data segment.

[0084] Since some ocean observation devices need to specifically observe certain ocean information, such as seabed-based mooring buoys need to observe the geological information of the seabed, the categories of the test data segments are different. For this, in some embodiments, as Figure 3 shown, reserved bits are also provided in the data slice, so that special ocean information can be stored through the reserved bits, which can not only keep the word length of the data slice consistent, but also facilitate the subsequent steps to perform operations and processing on the same category of data, and also improve the expandability. To facilitate data identification and processing, in some embodiments, the word length of the data slice can be kept as 28 bytes.

[0085] Please refer to Figure 1 , step S3 includes: determining the difference slice data corresponding to each of the arranged data slices according to a set formula.

[0086] It should be noted that in this step, the larger the serial number of the arranged data slice, the later its corresponding timestamp. That is, within the set time, the data slice with the earliest timestamp corresponds to the data slice corresponding to the first timestamp.

[0087] In some embodiments, the difference slice data can be calculated by formula (1):

[0088] ; where represents the first difference slice data, represents the data slice with the earliest timestamp, represents the nth data slice, represents the nth difference slice data, represents the (n - 1)th data slice, and M corresponds to the total number of data slices within the set time.

[0089] It should be noted that in the case of knowing all the difference slice data, as long as the difference slice data with the earliest timestamp is used as the base packet and the inverse operation is performed based on formula (1), all the data slices corresponding to the set time can be restored.

[0090] Please refer to Figure 1, step S4 includes: for each piece of differential slice data, perform the following operations: preprocess the differential slice data to obtain preprocessed data, and determine whether the preprocessed data meets the similarity requirement. If it does, designate the differential slice data as the data to be processed; otherwise, designate the preprocessed data as the data to be processed. Since the sensor has a slow-varying characteristic in time when collecting ocean information, that is, the same observation information for adjacent timestamps may be unchanged, there may be duplicate data. The function of this step is to simplify the differential slice data according to the actual situation of the differential slice data to reduce the data volume.

[0091] In some embodiments, the preprocessing of the differential slice data can be implemented by performing the following steps: eliminate all bits storing logical zeros in the differential slice data, and generate preprocessed data that can represent the positions of all non-logical-zero bits based on the positions of the non-logical-zero bits.

[0092] Since the differential slice data is the difference between data slices corresponding to two timestamps arranged front and back and is represented in binary form, considering the slow-varying characteristic of the sensor when collecting data, and some ocean information may only change slightly within a certain period of time, such as seawater salinity and seawater temperature, etc., some bits in the differential slice data store logical "0", especially the bits in the high positions. Specifically, assume that the seawater temperature only changes by 0.02 °C between two adjacent timestamps. In some embodiments, the binary code of the seawater temperature corresponding to the smaller timestamp can be "XXXXXXXXXXXXX010", and the binary code of the seawater temperature corresponding to the larger timestamp can be "XXXXXXXXXXXXX100". It can be seen that the high-bit data of the two data slices is the same, and the differential slice data obtained after subtracting these two data slices will contain a large number of logical "0".

[0093] In addition, when the preprocessed data of a certain timestamp is known and the data slice of the previous timestamp of this timestamp is known, after restoring the preprocessed data of this timestamp to the corresponding differential slice data, and then adding the data slice of the previous timestamp and this differential slice data, the data slice corresponding to this timestamp can be obtained. It can be understood that for some differential slice data, after performing the logical-zero removal process, the data volume can be significantly reduced.

[0094] In some embodiments, to facilitate determining whether the data to be processed is the preprocessed data or the differential slice data, after designating the preprocessed data as the data to be processed, a flag bit that can represent the origin of the data to be processed from the preprocessed data can be added to the data to be processed.

[0095] In some embodiments, it is possible to determine whether the preprocessed data meets the similarity requirements by performing the following steps: Determine whether the data length of the preprocessed data is greater than a preset length threshold. If it is, it is determined that the preprocessed data meets the similarity requirements; if not, it is determined that the preprocessed data does not meet the similarity requirements. The main purpose of step S4 is to reduce the data volume. Considering that restoring the preprocessed data requires a certain amount of computer computing power, the length of the preprocessed data should not be too large. If it is greater than the preset length threshold, it is considered that there is no need to reduce the differential slice data, so it is determined that the preprocessed data meets the similarity requirements; otherwise, it is determined that the preprocessed data does not meet the similarity requirements.

[0096] In some embodiments, the preset length threshold can be determined by the following formula: P1 = T * M, where P1 represents the preset length threshold, T represents the decision threshold (which can be custom-set, and its setting range is greater than 0 and less than 1), and M represents the length of the differential slice data.

[0097] Please refer to Figure 1 , step S5 includes: sequentially compressing, encrypting, and channel-coding all the data to be processed to obtain the data to be sent.

[0098] In some embodiments, such as Figure 4 shown, step S5 may include step S51, step S52, and step S53.

[0099] Please refer to Figure 4 , step S51 includes: compressing the data to be processed through the Huffman compression algorithm to obtain the plaintext. In this step, the Huffman compression algorithm can perform lossless compression on the data to be processed, and can try to ensure the integrity of the data.

[0100] In some embodiments, the process of compressing the data to be processed through the Huffman compression algorithm may include: counting the frequency of each character in the data to be processed; sorting each character according to the frequency of each character; building a Huffman tree based on the existing algorithm; generating character codes through the Huffman tree; encoding the data to be processed based on the character codes to obtain the above-mentioned plaintext.

[0101] Please refer to Figure 4 , step S52 includes: encrypting the plaintext through the AES encryption algorithm to obtain the encrypted data.

[0102] In some embodiments, the plaintext can be encrypted by performing the following steps:

[0103] Obtain the key matrix; where the key matrix includes N groups of keys; N is a natural number greater than two;

[0104] Based on the N groups of keys and the plaintext, perform as Figure 5The steps SS1, SS2, SS3, SS4, SS5, SS6, and SS7 shown.

[0105] Please refer to Figure 5 , step SS1 includes: performing an encryption operation on the first group of keys and the plaintext based on a set encryption function to obtain the data to be encrypted. This step can be through formula (2): encrypting the plaintext, where C represents the data to be encrypted, represents the set encryption function, K represents the key, represents the plaintext. Additionally, the set encryption function can be an existing encryption function, such as the exclusive OR operation function.

[0106] To ensure that the format of the plaintext is consistent with the key when performing the encryption operation, in some embodiments, before executing step SS1, it may further include: converting the plaintext into a state matrix composed of bytes with L×K (i.e., the number of rows of the state matrix is L and the number of columns is K). In some embodiments, the key length is 128 bits. Correspondingly, L is equal to 4 and K is equal to 4, and each element in the state matrix contains one byte. It should be noted that after the encryption operation on the plaintext, the plaintext is still in the matrix structure of L×K, but the elements have been encrypted once.

[0107] Please refer to Figure 5 , step SS2 includes: performing a byte substitution process on the data to be encrypted to obtain the substituted data. By performing a byte substitution process on the data to be encrypted in this step, the confusion of the data to be encrypted can be improved, thereby enhancing the security of data encryption.

[0108] In some embodiments, the byte substitution process can be implemented by executing step SS21 and step SS22.

[0109] Step SS21 includes: obtaining a pre-defined S-box; where the S-box is configured as a 16×16 element matrix arranged by 256 elements. The S-box in this step is a two-dimensional constant array used for encrypting data in the AES encryption algorithm. The array composition can be custom-set. Additionally, when decrypting at the land observation station, the inverse S-box corresponding to the S-box in this step can be used to implement decoding, thereby restoring the data. The specific functions of the S-box and the inverse S-box can refer to the prior art and will not be elaborated here.

[0110] Step SS22 includes: For each element in the state matrix (i.e., the transformed plaintext), perform the following: Take the high four bits of the byte stored in this element as the row value, and the low four bits of this byte as the column value. Based on the row value and the column value, retrieve the corresponding element in the S-box, and replace this byte with the element. For example, if the byte stored in a certain element in the state matrix corresponding to the plaintext is 0x12, then its high four bits are 1 and its low four bits are 2. The element found in the 1st row and 2nd column of the S-box is 0xC9, so 0xC9 will replace the original value 0x12 and be stored in this element. After all elements in the plaintext are replaced, the plaintext at this time is the data to be encrypted as described above.

[0111] Step SS3 includes: Perform a row shift operation on the substituted data to obtain the shifted data. By performing a row shift operation on the substituted data in this step, the complexity of data encryption can be increased, and the encryption security can be further improved.

[0112] In some embodiments, the row shift operation can be implemented by performing the following steps: Shift the bytes in the first row of the state matrix by X byte units in the set direction, shift the bytes in the second row of the state matrix by Y byte units in the set direction, shift the bytes in the third row of the state matrix by Z byte units in the set direction, and shift the bytes in the fourth row of the state matrix by J byte units in the set direction.

[0113] In this step, X, Y, Z, and J can be natural numbers set by the user. Optionally, X can be 0, Y can be 1, Z can be 2, and J can be 3. To further improve the encryption effect, the values of X, Y, Z, and J can be determined by an existing random number generation function. As long as when transmitting ocean observation data each time, X, Y, Z, and J defined during the row shift are packaged and sent to the land observation station together, it can ensure that the land observation station can decrypt, thus improving data security.

[0114] Please refer to Figure 5 , step SS4 includes: Determine whether the number of key groups in the key matrix that have not undergone encryption operations is greater than one. If so, execute SS5; if not, execute SS7.

[0115] Please refer to Figure 5 , step SS5 includes: Perform a column mixing operation on the shifted data to obtain the mixed data (i.e., the shifted data after column mixing). By performing a column mixing operation on the shifted data in this step, the data can be effectively protected and the difficulty of data decryption can be increased.

[0116] In some embodiments, as Figure 6 shown, the column mixing operation can be implemented by performing step SS51, step SS52, and step SS53.

[0117] Please refer toFigure 6 , step SS51 includes: obtaining a pre-defined K×L transformation matrix composed of bytes.

[0118] Please refer to Figure 6 , step SS52 includes: for each byte in the state matrix, perform the following operations: take out all the bytes in the same column as this byte in the state matrix, and denote the byte taken out from the state matrix as the byte to be operated on; take out all the bytes in the transformation matrix whose row values are the same as the row value of this byte, and denote the byte taken out from the transformation matrix as the mixed byte; substitute the byte to be operated on and all the mixed bytes into a pre-defined mixing function to obtain a mixed value corresponding to this byte to be mixed.

[0119] Specifically, in some embodiments, the state matrix is represented as: ; the transformation matrix is represented as: ;

[0120] Correspondingly, the mixing function can be represented as: .

[0121] Wherein, represents the element in the first row and the Jth column of the state matrix, represents the element in the second row and the Jth column of the state matrix, represents the element in the third row and the Jth column of the state matrix, represents the element in the fourth row and the Jth column of the state matrix, represents the byte to be mixed the corresponding mixed value, represents the byte to be mixed the corresponding mixed value, represents the byte to be mixed the corresponding mixed value, represents the byte to be mixed the corresponding mixed value, represents multiplication operation, represents exclusive OR operation.

[0122] Please refer to Figure 6 , step SS53 includes: after calculating the mixed values corresponding to all the bytes in the state matrix respectively, replace each byte in the state matrix with its corresponding mixed value.

[0123] Please refer to Figure 5 , step SS6 includes: performing an encryption operation on the Mth group of keys and the plaintext based on a set encryption function to obtain a sub-ciphertext, taking the sub-ciphertext as the latest data to be encrypted, and returning it to SS2; where the initial value of M is 2, and M is incremented by one each time SS5 is executed. In this step, except for the different keys, the process of each encryption operation is the same as the process of step SS1, so it can be referred to above and will not be elaborated here.

[0124] Please refer to Figure 5 In step SS7, it includes: performing an encryption operation on the Nth group of keys and the shifted data to obtain the encrypted data. In this embodiment, after performing the encryption operation on the Nth group of keys and the shifted data, it is equivalent to that all the keys in the key matrix have been utilized and encrypted once, that is, after consuming all the keys, the encrypted data can be obtained.

[0125] Optionally, N is equal to 11.

[0126] Please refer to Figure 1 In step S53, it includes: performing channel coding on the encrypted data to obtain the data to be transmitted. This step can further improve the data security by performing channel coding on the encrypted data.

[0127] Since different algorithms have different effects on channel coding of encrypted data with different data volumes, if the algorithm is not properly selected, it is easy to cause a large amount of encoded data. For this reason, in some embodiments, the step of performing channel coding on the encrypted data may include: determining whether the occupied memory of the encrypted data is less than the set memory threshold. If so, perform channel coding on the encrypted data through the Hamming coding algorithm; if not, perform channel coding on the encrypted data through the preset coding algorithm.

[0128] In some embodiments, the ocean observation devices are divided into buoy-type ocean observation devices and submersible buoy ocean observation devices. The buoy-type ocean observation devices mainly observe the ocean information on the sea surface. Since it is relatively convenient to communicate with satellites, higher-frequency satellite communication can be used, so the amount of data to be transmitted each time is small. The submersible buoy ocean observation devices mainly work on the seabed or in deep water areas. Since the electric energy and time consumed for the device to float up and down are relatively long and it is not suitable to be carried out frequently, this type of observation device usually floats to the sea surface after observing a large amount of data to transmit the ocean observation data, so the amount of data to be transmitted each time is large.

[0129] In some embodiments, as Figure 7 shown, the step of performing channel coding on the encrypted data through the Hamming coding algorithm may include step S531, step S532, and step S533.

[0130] Please refer to Figure 7 In step S531, it includes: dividing the encrypted data in units of four bits to obtain a number of data segments to be encoded. Since the encrypted data is stored in binary form in the computer, it can be divided equally in units of four bits, so that a number of data segments to be encoded with a width of 4 bits can be obtained.

[0131] Please refer to Figure 7, step S532 includes: obtaining a predetermined supervision relation formula; wherein, the supervision relation formula includes the operation relations between multiple supervision bits and the data segments to be encoded respectively.

[0132] In some embodiments, the supervision relation formula can be expressed as: .

[0133] Wherein, , and respectively represent the supervision bits, , , and respectively represent the values of 4 bits in the data segments to be encoded. It can be understood that by substituting , , and into the supervision relation formula, the values of , and can be calculated.

[0134] Please refer to Figure 7 , step S533 includes: performing for each data segment to be encoded: calculating the values of each supervision bit according to the supervision relation formula and the data segment to be encoded, and encoding the supervision bits into the data to be encoded according to a predetermined coding sequence to obtain an encoded data segment. The predetermined coding sequence can be custom-set according to requirements, for example, arranged in " ".

[0135] In some embodiments, as Figure 8 shown, the steps of performing channel coding on the encrypted data through a preset coding algorithm may include step SS531, step SS532, and step SS533.

[0136] Please refer to Figure 8 , step SS531 includes: encoding the encrypted data based on the RS error correction coding algorithm to obtain an RS code. In this step, the encrypted data is encoded through the existing RS error correction coding algorithm to incorporate n-k supervision code elements into the information code elements of the encrypted data regularly to obtain an RS code, and the RS code can be represented in the form of (n,k), where n represents the code length of the RS code and k represents the number of information code elements in the RS code.

[0137] It can be understood that the RS error correction coding algorithm has the advantages of error correction ability, easy implementation, high coding efficiency, etc. For the encrypted data with a large amount of data, performing RS error correction coding on it first can effectively simplify the data amount, reduce the operation burden of subsequent processing, and facilitate handling the random errors and burst errors that occur during the transmission of the encrypted data, thereby avoiding data loss.

[0138] Please refer to Figure 8 , step SS532 includes: encoding the RS code based on the convolutional error correction coding algorithm to obtain the data after convolutional coding. This step can be implemented by encoding the RS code through two existing convolutional error correction encoders.

[0139] Among them, the convolutional coding equation can be expressed as: . Among them, represents the output sequence of the first convolutional error correction encoder, ; represents the output sequence of the second convolutional error correction encoder, ; represents the original data sequence input to the convolutional error correction encoder (i.e., the RS code), ; represents the generator polynomial coefficient vector of the first convolutional encoder, ; represents the generator polynomial coefficient vector of the second convolutional encoder, .

[0140] Understandably, convolutional error correction coding has advantages such as strong anti-interference performance, and can effectively avoid data distortion due to environmental noise.

[0141] Please refer to Figure 8 , step SS533 includes: encoding the data after convolutional coding based on the interleaving coding algorithm to obtain the data to be sent. Specifically, using the existing interleaving coding algorithm, the data after convolutional coding is arranged into a code matrix of R×E, and the code matrix is rearranged to obtain the data to be sent. In some embodiments, the code matrix of R×E can be expressed as: ; correspondingly, the data to be sent can be expressed as: .

[0142] Understandably, interleaving coding helps to effectively reduce the risk of data loss in wireless communication and can effectively avoid the risk of data loss when sending the data to be sent subsequently.

[0143] In step S53, when it is necessary to send relatively large data, encoding the encrypted data sequentially through the RS error correction coding algorithm, the convolutional error correction coding algorithm, and the interleaving coding algorithm can combine the advantages of RS error correction coding, convolutional error correction coding, and interleaving coding at the same time, not only reducing the risk of repeated data transmission, but also ensuring the reliability and security of communication.

[0144] Please refer to Figure 1, step S6 includes: establishing a communication channel with a satellite to send the data to be sent to a land observation station via the satellite. In this step, the main control module controls the antenna module to work to establish a communication channel with the satellite, so as to send the data to be sent to the land observation station via the satellite. After receiving the data to be sent, since the setting of the encryption function, S-box, mixing function, key matrix, supervision relation, coding sequence, algorithms in the channel coding process, etc. can be agreed in advance and are known information, the land observation station can use this known information for inverse operations to restore the ocean observation data output by the sensor module.

[0145] It can be understood that the technical solution of the present invention can effectively compress the data volume of ocean observation data, significantly reduce the data volume to be sent by the ocean observation device, thereby improving the communication efficiency, playing a positive role in saving the power of ocean observation data, and also encrypting and channel coding the ocean observation data, improving the security, communication success rate and anti-noise performance of ocean observation data, thereby effectively preventing data loss and receiving error information.

[0146] The present invention also provides a satellite-based ocean observation data processing system for an ocean observation device, such as Figure 9 shown. The satellite-based ocean observation data processing system includes a plurality of ocean observation devices, a satellite and a land observation station.

[0147] Among them, the ocean observation device includes a main control module, and the main control module includes a memory, a processor, and a computer program stored in the memory and operable on the processor. When the processor executes the computer program, it implements the steps of the satellite-based ocean observation data processing method provided by the embodiments of the present invention.

[0148] In this specification, the various embodiments are described in a progressive manner. Each embodiment focuses on the differences from other embodiments. The same or similar parts among the various embodiments can be referred to each other. For the devices disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the description is relatively simple. For the relevant parts, refer to the description of the method part.

[0149] Those skilled in the art can further realize that the units and algorithm steps of each example described in combination with the embodiments disclosed in this article can be implemented by electronic hardware, computer software, or a combination of the two. To clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described according to functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present invention.

[0150] The steps of the methods or algorithms described in connection with the embodiments disclosed herein may be implemented directly in hardware, in a software module executed by a processor, or in a combination thereof. The software module may be placed in a random access memory (RAM), internal memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.

[0151] It should be understood that the above embodiments merely represent the preferred embodiments of the present invention, and the description thereof is relatively specific and detailed, but it should not be construed as a limitation to the scope of the patent of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present invention, the above technical features can be freely combined, and several deformations and improvements can also be made, all of which fall within the protection scope of the present invention. Therefore, all equivalent transformations and modifications made to the scope of the claims of the present invention shall fall within the scope covered by the claims of the present invention.

Claims

1. A satellite-based method for processing ocean observation data, which is used for an ocean observation device, characterized in that, The marine observation data processing method includes: Obtaining the marine observation data collected by the marine observation device within a set time; Performing formatting processing on the marine observation data according to timestamps to obtain multiple data slices that are in one-to-one correspondence with multiple timestamps and arranged based on a set data format; Arrange the multiple data slices in ascending order based on timestamps, and determine the differential slice data corresponding to each of the arranged data slices according to a set formula; wherein, the set formula is: ; represents the first differential slice data, represents the data slice with the earliest timestamp, represents the nth data slice, represents the nth differential slice data, represents the (n - 1)th data slice, and M corresponds to the total number of data slices within the set time; Performing the following operations on each of the differential slice data: preprocessing the differential slice data to obtain preprocessed data, and determining whether the preprocessed data meets the similarity requirement. If so, designating the differential slice data as data to be processed; otherwise, designating the preprocessed data as data to be processed; Successively performing compression, encryption, and channel coding on all the data to be processed to obtain data to be sent; Establishing a communication channel with a satellite to send the data to be sent to a land observation station through the satellite; The marine observation data includes data collected for various observation information within the set time. The step of performing formatting processing on the marine observation data according to timestamps includes: Classifying various observation information collected under the same timestamp into a group of data to be merged respectively, so as to obtain multiple groups of data to be merged that are in one-to-one correspondence with multiple timestamps; Performing the following operations on each group of the data to be merged: generating a unique identification code, and generating an identification code data segment according to the identification code; generating a time data segment according to the timestamp of the data to be merged; respectively generating test data segments according to each type of observation information included in the data to be merged to obtain multiple test data segments that are in one-to-one correspondence with various observation information; setting the data length of each data segment based on a memory setting list; merging the identification code data segment, the time data segment, the set data segment, and each test data segment in a set column order to obtain a data slice corresponding to the data to be merged; wherein the memory setting list includes byte settings for respectively setting the data lengths of various data segments.

2. The satellite-based marine observation data processing method according to claim 1, characterized in that The step of preprocessing the differential slice data includes: Eliminating all bits storing logical zeros in the differential slice data, and generating preprocessed data that can represent the positions of all non-logical-zero bits according to the positions of the non-logical-zero bits; The step of determining whether the preprocessed data meets the similarity requirement includes: Determining whether the data length of the preprocessed data is greater than a preset length threshold. If so, determining that the preprocessed data meets the similarity requirement; otherwise, determining that the preprocessed data does not meet the similarity requirement.

3. The satellite-based marine observation data processing method according to claim 1 or 2, characterized in that, The step of successively performing compression, encryption, and channel coding on all the data to be processed includes: Compressing the data to be processed through a Huffman compression algorithm to obtain plaintext; Encrypting the plaintext through an AES encryption algorithm to obtain encrypted data; Performing channel coding on the encrypted data to obtain data to be sent.

4. The satellite-based marine observation data processing method according to claim 3, wherein The step of encrypting the plaintext through an AES encryption algorithm includes: Obtaining a key matrix; wherein the key matrix includes N groups of keys; N is a natural number greater than two; Based on the N groups of keys and the plaintext, performing the following steps: SS1. Performing an encryption operation on the first group of keys and the plaintext based on a set encryption function to obtain data to be encrypted; SS2. Perform byte substitution processing on the data to be encrypted to obtain the substituted data; SS3. Perform row shift processing on the substituted data to obtain the shifted data; SS4. Determine whether the number of unencrypted key groups in the key matrix is greater than one. If so, execute SS5; if not, execute SS7; SS5. Perform column mixing processing on the shifted data to obtain the mixed data; SS6. Based on the set encryption function, perform an encryption operation on the Mth group of keys and the plaintext to obtain a sub-ciphertext. Use the sub-ciphertext as the latest data to be encrypted and return to SS2. Here, the initial value of M is 2, and M is incremented by one each time SS5 is executed; SS7. Perform an encryption operation on the Nth group of keys and the shifted data to obtain the encrypted data.

5. The satellite-based ocean observation data processing method according to claim 4, characterized in that, Before step SS1, it further includes: Convert the plaintext into a state matrix composed of bytes in the form of L×K, and each byte in the state matrix is represented in the form of a hexadecimal code; L and K are natural numbers greater than 1; In SS2, the byte substitution processing includes: Obtain a pre-defined S-box; where the S-box is configured as a 16×16 element matrix arranged by 256 elements; For each element in the state matrix, use the high four bits of the byte stored in this element as the row value, the low four bits of this byte as the column value, take out the corresponding element in the S-box based on the row value and column value, and replace this byte with the element; In SS3, the row shift processing includes: Shift the bytes in the first row of the state matrix by X byte units in the set direction; Shift the bytes in the second row of the state matrix by Y byte units in the set direction; Shift the bytes in the third row of the state matrix by Z byte units in the set direction; Shift the bytes in the fourth row of the state matrix by J byte units in the set direction; In SS5, the column mixing processing includes: Obtain a pre-defined transformation matrix composed of bytes in the form of K×L; For each element in the state matrix, take out all the bytes in the same column as this byte in the state matrix, and record the bytes taken out from the state matrix as the bytes to be operated on; take out all the bytes in the transformation matrix whose row values are the same as the row value of this byte, and record the bytes taken out from the transformation matrix as the mixed bytes; substitute the bytes to be operated on and all the mixed bytes into a predetermined mixing function to obtain a mixed value corresponding to this byte to be mixed; After calculating the mixed values corresponding to all the bytes in the state matrix respectively, replace each byte in the state matrix with its corresponding mixed value.

6. The satellite-based marine observation data processing method according to claim 3, characterized in that The step of performing channel coding on the encrypted data includes: Determine whether the memory occupied by the encrypted data is less than the set memory threshold. If so, perform channel coding on the encrypted data through the Hamming coding algorithm; if not, perform channel coding on the encrypted data through a preset coding algorithm.

7. The satellite-based marine observation data processing method according to claim 6, wherein The step of performing channel coding on the encrypted data through the Hamming coding algorithm includes: Dividing the encrypted data in units of four bits to obtain a number of data segments to be coded; Obtaining a predetermined supervision relation formula; wherein, the supervision relation formula includes the operation relations between multiple supervision bits and the data segments to be coded; Performing the following operations on each of the data segments to be coded: calculating the values of the supervision bits according to the supervision relation formula and the data segment to be coded, and coding the supervision bits into the data segment to be coded according to a predetermined coding sequence to obtain a coded data segment.

8. The satellite-based marine observation data processing method according to claim 6, characterized in that The step of performing channel coding on the encrypted data through a preset coding algorithm includes: Encoding the encrypted data based on the RS error correction coding algorithm to obtain an RS code; Encoding the RS code based on the convolutional error correction coding algorithm to obtain data after convolutional coding; Encoding the data after convolutional coding based on the interleaving coding algorithm to obtain the data to be transmitted.

9. A satellite-based ocean observation data processing system for ocean observation devices, characterized in that, The satellite-based marine observation data processing system includes a number of marine observation devices, a satellite, and a land observation station; Wherein, the marine observation device includes a main control module, and the main control module includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the satellite-based marine observation data processing method according to any one of claims 1 to 8 are implemented.

Citation Information

Patent Citations

  • Ship-end data lightweight device, shore-end data restoration device, and ship-shore integrated data lightweight transmission system and method

    CN109474594A

Cited By

  • Integrated processing system and method for ocean data stored in NetCDF file

    CN121236208A

  • Integrated processing system and method for marine data stored in netCDF file

    CN121236208B