A universal and easily-extensible air traffic control monitoring data encoding method and system

CN117579708BActive Publication Date: 2026-09-04SICHUAN JIUZHOU AIR TRAFFIC CONTROL TECHNOLOGY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202311470534.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-11-06
Publication Date
2026-09-04
Estimated Expiration
2043-11-06

AI Technical Summary

Technical Problem

[0005]综上,现有技术主要针对不同的协议实现不同的数据编码,不具备通用性和场景适应性,其缺点包括:

Benefits of technology

[0086]By using the method and/or system of this invention, as long as the data protocol template and data output configuration rules are followed, the software's data protocol and output information can be configured to support the encoding output of data with different data protocols, quickly adapting to the data interaction or data sharing needs of different business scenarios, without having to modify the software to support specific data protocols and requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117579708B_ABST
    Figure CN117579708B_ABST
Patent Text Reader

Abstract

The application discloses a general and easily-expandable air control monitoring data coding method and system, and the method comprises the following steps: S1, unified data definition, defining the composition and description mode of various data to be coded and output by the system according to business scenarios and external system data requirements; S2, protocol template management, configuring technical protocols supported by the system, configuring different data protocols of different classifications according to scenario requirements, and establishing the mapping relationship from the unified data defined by the system to different protocol contents; S3, data output configuration, establishing the association relationship between the data output interface and the data protocol based on the system of the data protocol and the required data; and S4, data coding output, coding data according to the data output configuration information, and sending the data to the configured address and port according to the corresponding data protocol. The application establishes a general data protocol coding framework, and improves the universality of the data coding output software through protocol self-definition, protocol modification and protocol association.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of air traffic control surveillance data processing technology, and in particular relates to a general and easily expandable air traffic control surveillance data encoding method and system. Background Technology

[0002] In recent years, the civilian drone industry has developed rapidly and has been widely used in fields such as aerial photography, plant protection, power line inspection, and disaster relief. After many years of development, general aviation has also been widely developed in fields such as agriculture and forestry, sports, entertainment, tourism, and medical care.

[0003] With the continuous development of technologies such as general aviation, drones, unmanned vehicles, and unmanned ships, the demand for target and equipment status monitoring and assurance capabilities is increasing in application and management fields. In the aviation field, there are data protocol standards such as Asterix, MH / T, and GJB; in the navigation field, there are navigation data standards such as GPS and BeiDou; in the drone surveillance and control field, there are data protocol standards such as Mavlink; and in the detection and tracking field, various radar, optoelectronic, radio, and multi-point positioning equipment manufacturers have their own defined target data and equipment status data protocol standards. These standards differ significantly, and the business systems that data processing systems must serve and the data exchange standards they must follow vary in different business scenarios. Existing customized data processing encoding and output software suffers from high development costs and low efficiency when facing changes in data protocols and business requirements. Monitoring data is typically transmitted in the form of network data packets, which are encoded in binary. By establishing a universal data encoding framework, it supports rapid adaptation to different data protocol standards through protocol configuration. This helps to quickly respond to data output protocols and protocol modification requirements in different business scenarios in a low-code manner, improves the development efficiency of information systems, meets the data encoding output and sharing needs of different business scenarios in the air traffic management field such as UAV management, general aviation management, and civil aviation management, is compatible with traditional air traffic control and emerging air traffic control businesses, and provides a universal data encoding and output solution for intelligent monitoring, control and other systems.

[0004] The existing patent "A Method for Reducing False Alarms Due to Co-channel Interference in an Airborne Collision Avoidance System" only encodes the data protocols defined within the system; the patent "A Multi-mode Encoding Method Based on Integrated Surveillance" encodes pulse signals, which addresses a different problem than the binary encoding of data in this invention; the patent "A Method for Converting UAV Operation Data into Air Traffic Control Surveillance Information Format" specifically encodes UAV operation data into single-radar target reports, ADS-B target reports, and surveillance data processing system track reports conforming to the European standard Asterix; in existing surveillance software systems, data encoding and transmission are mainly implemented through code programming based on the currently required data protocols, and the addition, deletion, or modification of protocols all require modification of the software code.

[0005] In summary, existing technologies mainly implement different data encodings for different protocols, lacking universality and scenario adaptability. Their drawbacks include:

[0006] 1) It only implements data encoding for a limited number of protocols and cannot be directly applied to data encoding for new scenarios and new protocols;

[0007] 2) To support new data encoding, it is necessary to implement this specifically by writing software code;

[0008] 3) When the same data protocol standard is updated, support must be provided by modifying the code. Summary of the Invention

[0009] The purpose of this invention is to overcome the problems of existing technologies and disclose a general and easily expandable air traffic control surveillance data encoding method and system. The method and / or system of this invention establishes a general data protocol encoding framework; establishes a data protocol setting framework to achieve data protocol support that can be customized down to the binary bit level; realizes data encoding and output based on the data protocol framework; and improves the versatility and adaptability of the data encoding output software to business scenarios through protocol customization, protocol modification and protocol association.

[0010] The objective of this invention is achieved through the following technical solution:

[0011] A general and easily expandable air traffic control surveillance data encoding method, the air traffic control surveillance data encoding method comprising:

[0012] S1: Unified data definition, based on business scenarios and external system data requirements, defines the composition and description of various types of data to be encoded and output by the system;

[0013] S2: Protocol template management, configure the technical protocols supported by the system, configure different data protocols of different categories according to scenario requirements, and establish a mapping relationship between unified data defined within the system and different protocol contents;

[0014] S3: Data output configuration, based on the system's data protocol and requirement data, establishes the association between the data output interface and the data protocol;

[0015] S4: Data encoding output. Based on the data output configuration information, the data is encoded according to the corresponding data protocol and sent to the configured address and port.

[0016] According to a preferred embodiment, step S1 includes: completing a unified definition of data within the system, including the field composition of various types of data, the type of each field and the data representation unit, as a data format specification for data encoding.

[0017] According to a preferred embodiment, step S2 includes:

[0018] S21: Create a new protocol template or select one. Creating a new template requires specifying the protocol type P. x and protocol number P xy ;

[0019] S22: Add or edit content fields p in sequence xyz

[0020] S23: Defines a subfield of the protocol field;

[0021] S24: Verify the protocol template. For all protocol fields that are split into subfields, the sum of the bit lengths of all subfields is not greater than the sum of the bit lengths of the corresponding protocol field.

[0022] S25: Establishing Protocols and Unified Data Types T i Field mapping relationships.

[0023] According to a preferred embodiment, step S25 includes the following steps:

[0024] S251: Select Protocol P xy The corresponding unified data type T i Proceed to step S252;

[0025] S252: Protocol P xy The fields p in xyz ,z <n xy Add to the set to be mapped; if the protocol field p xyz If a data field is composed of multiple subfields, then its subfields are added to the set to be mapped; that is, the set to be mapped contains all data fields of the protocol that are not composed of subfields, as well as all subfields; proceed to step S253;

[0026] S253: Select a uniform data field t ijAnd select a mapping field p from the set to be mapped. xyz or subfield p′ xyz If t ij If there is no mapping relationship, proceed to step S254; otherwise, proceed to step S255.

[0027] S254: Establish a mapping relationship map(t) ij ,p), and p xyz or p′ xyz Remove from the set to be mapped, proceed to step S256;

[0028] S255: If p xyz or p′ xyz Compared to the previous t ij If the mapped field p is the same, the mapping relationship remains unchanged; otherwise, a mapping relationship map(t) is established. ij Add the original mapped field p to the set to be mapped, and set p... xyz or p′ xyz Remove from the set to be mapped, proceed to step S256;

[0029] S256: If the data mapping is not completed, return to step S253; otherwise, end the field mapping.

[0030] According to a preferred embodiment, step S3: data output configuration includes:

[0031] S31: Create or select data output information;

[0032] S32: Configure the data receiving system name, number, receiving IP address, and port;

[0033] S33: Select a protocol category from the data protocol categories supported in the data protocol template management;

[0034] S34: Select a protocol number from all protocols defined in the data protocol category;

[0035] S35: Save data source configuration information.

[0036] According to a preferred embodiment, step S4: data encoding output includes the following steps:

[0037] S41: Load data and output configuration information;

[0038] S42: Load the data protocol template based on the data output configuration information;

[0039] S43: Waiting for the business system to provide template mapping associated, unified format data to be output;

[0040] S44: Uniform data format mapping to protocol data format;

[0041] S45: Encode the data according to the data protocol template;

[0042] S46: Send the data to the corresponding address according to the output configuration information; return to step S42 and repeat the process from step S43 to step S46.

[0043] According to a preferred embodiment, step S44 specifically includes:

[0044] S441: Obtain unified format data and corresponding protocol template;

[0045] S442: Obtain the unified data format definition based on the unified data format type;

[0046] S443: Obtain data field mapping information from the protocol template, with a mapping quantity of n;

[0047] S444: Retrieve a set of mapping information in sequence, with the sequence number i and the unified data field name p. i The protocol template field name is t i ;

[0048] S445: Retrieve Uniform Data Field p from Uniform Format Data i The corresponding data value v i If the data exists, proceed to step S446; otherwise, proceed to step S449.

[0049] S446: Retrieve field t from protocol template data definition i The definition includes data type and unit;

[0050] S447: Determine v i Check if the data type is consistent with the data field type in the protocol template; if not, perform type conversion.

[0051] S448: Determine v i Check if the data unit matches the unit of the data field in the protocol template; if not, perform unit conversion.

[0052] S449: Determine if the mapping is complete. If not, continue mapping in step S444; otherwise, output the protocol template data mapping result and end the mapping.

[0053] According to a preferred embodiment, step S45 specifically includes the following steps:

[0054] S4501: Obtain the mapped protocol template format data. The total byte length of all fields in the protocol template is L bytes. Generate a byte array with a byte length of L and set the current compilation byte position k=1.

[0055] S4502: Retrieve all content fields defined in the protocol template, with the number of fields denoted as n, and sort the fields in ascending order of their field numbers;

[0056] S4503: Retrieve the definition of the z-th field in sequence, 1≤z≤n, with a field length of l. z The unit is d i The maximum value is v maxz The minimum value is v minz ;

[0057] S4504: Extract the bytes from the starting byte position k to the ending byte position k+l from the byte array. z -1 byte is used to store the encoding result of field z;

[0058] S4505: Determine whether field z is composed of subfields. If yes, proceed to step S4506; otherwise, proceed to step S4507.

[0059] S4506: Compile and assign values ​​to the subfields of the field respectively, and then proceed to step S4511;

[0060] S4507: Get field value v z If the defined transmission data type is integer, proceed to step S4508; if it is floating-point, proceed to step S4509; if it is character, proceed to step S4510.

[0061] S4508: Transfer integer field value v zj Convert to binary format and represent in bytes, with a byte length of R. Short integers do not exceed 2 bytes, integers do not exceed 4 bytes, and long integers do not exceed 8 bytes. Proceed to step S4511.

[0062] S4509: Convert the floating-point data into binary format according to the "IEEE 754 Binary Floating-Point Arithmetic Standard" and represent it in bytes. Standard floating-point data is 4 bytes and double-precision floating-point data is 8 bytes. Proceed to step S4511.

[0063] S4510: Convert the string data into binary format according to the ASCII encoding standard, with the number of bytes being twice the number of characters, then proceed to step S4511;

[0064] S4511: Assign the compilation results to positions k+l in byte order. z Unassigned bytes are set to zero, and the compiled byte position k = k + l is updated. z +1;

[0065] S4512: Determine whether the data compilation is complete, i.e., whether k is greater than the total byte length L. If not, return to step S4503 to compile the next field; otherwise, proceed to step S4513.

[0066] S4513: Output the compiled result data and end the data compilation.

[0067] According to a preferred embodiment, step S4506: compiling and assigning values ​​to the subfields of the field specifically includes:

[0068] S45061: Retrieves the definitions of all subfields of field z, where the number of subfields is n. z And sorted by subfield number;

[0069] S45062: The total length of all bytes in field z is B = l z *8, let the starting position be k z =1, 1≤k i ≤B;

[0070] S45063: Define the j-th subfield of field z in sequence, with a subfield length of b. j The unit is d. zj ;

[0071] S45064: Get subfield value v zj According to the field definition, obtain the subfield type. If it is an integer, proceed to step S45065; if it is a floating-point type, proceed to step S45066; if it is a character type, proceed to step S45067.

[0072] S45065: Transfer integer field value v zj When converted to binary format, the effective bit length r satisfies 2. r-1 <v zj <2 r+1 Proceed to step S45068;

[0073] S45066: Convert the floating-point data to binary format according to the "IEEE 754 Binary Floating-Point Arithmetic Standard", with an effective bit length of r, and proceed to step S45068;

[0074] S45067: Convert the string data into binary format according to the ASCII encoding standard, with an effective bit length of r, and proceed to step S45068;

[0075] S45068: If r > b j If the subfield length is insufficient to hold the corresponding value, compilation fails and ends; otherwise, the valid values ​​of the subfield are assigned to field z in order. z to k z +bj For bits with no valid value, the bit position is set to zero, and the assigned position k is updated. z =k z +b j +1;

[0076] S45069: Determine if all subfields have been compiled. If yes, end the compilation; otherwise, return to step S45063 to compile the next subfield.

[0077] On the other hand, the present invention also discloses:

[0078] A general and easily expandable air traffic control surveillance data encoding system, wherein the air traffic control surveillance data encoding system completes the encoding output of data according to the aforementioned air traffic control surveillance data encoding method;

[0079] The air traffic control surveillance data encoding system includes a unified data definition unit, a protocol template management unit, a data output management unit, and a data encoding output unit.

[0080] The unified data definition unit is configured to complete the unified definition of data within the system, serving as a data format specification for data encoding.

[0081] The protocol template management unit is configured to establish a unified data structure for data protocols, support the addition, deletion and modification of protocol templates, and associate and map unified data with data fields in the protocol so that the system can support different standard data protocols or custom data protocols through configuration.

[0082] The data output management unit is configured to manage the type and address of data output requests and establish the association between the data output interface and the data protocol;

[0083] The data encoding output unit is configured to encode internal uniform format data according to the corresponding protocol and send the data in the form of network packets according to the address and port in the output configuration.

[0084] The aforementioned main solution of the present invention and its various further alternative solutions can be freely combined to form multiple solutions, all of which are solutions that can be adopted and are claimed by the present invention. Those skilled in the art, after understanding the solution of the present invention, will realize that there are many combinations based on existing technology and common knowledge, all of which are technical solutions to be protected by the present invention, and will not be exhaustively listed here.

[0085] The beneficial effects of this invention are:

[0086] By using the method and / or system of this invention, as long as the data protocol template and data output configuration rules are followed, the software's data protocol and output information can be configured to support the encoding output of data with different data protocols, quickly adapting to the data interaction or data sharing needs of different business scenarios, without having to modify the software to support specific data protocols and requirements.

[0087] With the method and / or system of this invention, if the supported data protocol changes, only the corresponding data protocol template needs to be modified to support the changed data protocol, without having to modify the software code due to the protocol change.

[0088] By using the method and / or system of this invention, it is only necessary to establish or update a unified data definition and establish a mapping relationship between data protocol fields and fields in the unified data definition to meet the data output requirements of different preceding data processing and business systems, without modifying the software code.

[0089] The method and / or system of this invention make it simpler and more convenient to develop and customize data encoding output software for different scenarios, enabling data encoding output capabilities in a low-code manner; at the same time, clear data definitions help improve system deployment and operation efficiency and reduce system deployment and operation costs. Attached Figure Description

[0090] Figure 1 This is a schematic diagram of the composition of the air traffic control monitoring data encoding system of the present invention;

[0091] Figure 2 This is a schematic diagram of the overall process of the air traffic control monitoring data encoding method of the present invention;

[0092] Figure 3 This is the protocol template management process in the air traffic control surveillance data encoding method of the present invention;

[0093] Figure 4 This is the data mapping process in the protocol template management of this invention;

[0094] Figure 5 This is the data output configuration process in the air traffic control monitoring data encoding method of the present invention;

[0095] Figure 6 This is the overall process of data encoding output in the air traffic control monitoring data encoding method of the present invention;

[0096] Figure 7 This is the data mapping process in the data encoding output of this invention;

[0097] Figure 8 This is the data encoding process in the data encoding output of this invention;

[0098] Figure 9This is the field encoding process composed of subfields in the data encoding output of this invention. Detailed Implementation

[0099] The following specific examples illustrate the implementation of the present invention. Those skilled in the art can easily understand other advantages and effects of the present invention from the content disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of the present invention. It should be noted that, unless otherwise specified, the following embodiments and features described therein can be combined with each other.

[0100] Furthermore, it should be noted that, unless otherwise specified, the structures, connections, positions, power sources, etc. involved in this invention are all things that a person skilled in the art can know without creative effort based on the prior art.

[0101] Example 1

[0102] refer to Figure 2 As shown in the figure, this embodiment discloses a general and easily expandable air traffic control surveillance data encoding method, which includes:

[0103] S1: Unified data definition, based on business scenarios and external system data requirements, defines the composition and description of various types of data to be encoded and output by the system;

[0104] S2: Protocol template management, configure the technical protocols supported by the system, configure different data protocols of different categories according to scenario requirements, and establish a mapping relationship between unified data defined within the system and different protocol contents;

[0105] S3: Data output configuration, based on the system's data protocol and requirement data, establishes the association between the data output interface and the data protocol;

[0106] S4: Data encoding output. Based on the data output configuration information, the data is encoded according to the corresponding data protocol and sent to the configured address and port.

[0107] Step S1: Unify data definition

[0108] Unified data definition is an internal data definition within the system. It serves as a data format specification for data encoding and is used to associate with data fields in the protocol. This allows for the mapping of a unified data structure to different protocols for output, thereby decoupling the data protocol defined within the application system from the data protocol required externally.

[0109] Internally unified data is defined based on explicit data names and values. Let T represent the unified data type set, and N be the number of unified data types. T Then T i i <N T For a specific type of data in a data type set; data type T i The number of fields in the data is n i , using t ij ,j <n i T represents i The j-th field; each field must contain at least the name, data type, and data unit.

[0110] The process for unified data definition is as follows:

[0111] 1) Create a new or select a uniform data type T i ;

[0112] 2) Add or edit field content t ij ,j <n i ;

[0113] 3) Adjust the field order;

[0114] 4) Save a unified data definition.

[0115] The unified data definition in the field of air traffic management mainly involves two types of data: target surveillance data and equipment status surveillance data.

[0116] Target surveillance data is used to monitor the position and movement of targets, and generally includes fields such as target number, longitude, latitude, altitude, speed, heading, acceleration, and timestamp.

[0117] Device status monitoring data is used to monitor the operating status of devices and generally includes fields such as device number, device type, self-test status, power status (current, voltage, etc.), network status (connectivity, IP, MAC, etc.), operating status (on, off, standby, fault, etc.), and resource status (CPU, memory, storage, etc.).

[0118] Step S2 Protocol Template Management

[0119] Protocol template management establishes a unified data structure for data protocols, supporting the addition, deletion, and modification of protocol templates. This allows the system to support different standard data protocols or custom data protocols through configuration. Protocol template management includes operations such as creating, editing, and deleting templates. The protocol described in this embodiment refers to the definition of the composition of data transmitted in binary format. For example, a positioning protocol may include fields such as protocol number, data length, longitude, latitude, and altitude. Therefore, it is necessary to define the data order of each field during transmission, as well as the data name, length, corresponding data type, and data unit for each field. This allows the system to parse and obtain the corresponding data content one by one according to the defined type, length, and unit.

[0120] In this embodiment, the protocol templates are classified based on the protocol type, and the protocol number is used to determine the unique protocol template under the protocol type. Each protocol template includes multiple field definitions, and the field length is based on bytes, with the minimum allocation unit being 1 byte. Each field can be split into subfields by binary bits, and the minimum allocation unit of a subfield is 1 binary bit, i.e., 1 bit. The total bit length of all subfields under a field should not be greater than the binary bit length of the field.

[0121] Let P represent the protocol type set, and let N be the number of supported protocol categories. P Then P x ,x <N P For a specific type of protocol in the protocol classification set; P x The number of supported protocols in the class protocol is but Protocol Classification P x The y-th data protocol in P; xy The number of protocol fields is n xy , using p xyz ,z <n xy P represents xy The z-th field in the protocol.

[0122] like Figure 3 As shown, the basic steps for protocol template management are as follows:

[0123] 1) Create a new protocol template or select one. Creating a new template requires specifying the protocol type P. x and protocol number P xy ;

[0124] The given protocol type and protocol number are used to classify protocols according to standards, such as the European Asterix standard, which includes multiple protocols such as CAT001-CAT062 applicable to different data transmissions.

[0125] 2) Add or edit content fields p in sequence xyzIt mainly provides the field name, sequence number, length, identifier, type, range, and unit; the field sequence number refers to the order of each field in the protocol template according to the byte sequence number from low to high; the minimum unit of field length is 1 byte.

[0126] 3) Define subfields of the protocol field

[0127] Protocol fields are represented as whole fields, and are further broken down into subfields by data bits. Each subfield includes information such as field name, field number, field length, data type, value range, and data unit. The subfield number refers to the order in which the subfields are composed, from most significant bit to least significant bit, within the corresponding field; the smallest unit of field length is 1 bit.

[0128] For example: Define a time field in the template, with a length of 3 bytes; 3 bytes corresponds to a binary bit length of 3 × 8 = 24 bits; if stored according to year, month, and day, a month has a maximum of 31 days, requiring 5 bits (2... 5 =32>31>2 4 ); Every December, 4 bits (2^36 bits) are needed. 4 =16>12>2 3 This can be broken down into year (index 1, length 16 bits), month (index 2, length 4 bits), and day (index 3, length 5 bits). The 16 bits for the year can store a maximum of 2 years. 16 -1 = 65535 years.

[0129] 4) Verification Protocol Template: Data transmission is in bytes, with one byte corresponding to 8 bits. For a split field, the bit length of all its subfields cannot exceed the total bit length of the original field. The lengths of all defined subfields must be summed to determine if the length requirement is met.

[0130] Protocol P xy One of the fields p xyz The length is defined as l z A byte contains n subfields. z The bit length of the lower i subfields is l ib Then the bit length of all subfields and L zb ,:

[0131]

[0132] The criteria for determining whether a protocol conforms to the byte standard are:

[0133] L zb ≤l z ×8

[0134] That is, for all protocol fields that are split into subfields, the sum of the bit lengths of all subfields is not greater than the sum of the bit lengths of the corresponding protocol field. If a subfield has a bit length that is less than the sum of the bit lengths of the corresponding protocol field, it means that some binary bits in that protocol field are temporarily unused and can be used to transmit subsequent extended protocol content.

[0135] 5) Establish protocols and a unified data type T i Field mapping relationship

[0136] Establishing a mapping relationship involves defining the correspondence between the internal unified data format and the data protocol data format. First, it's necessary to select the unified data type T corresponding to the protocol. i Then, the unified data type T i The fields t in ij ,j <n i With Agreement P xy The fields p in xyz ,z <n xy Establish mapping relationship map(p) xyz ,t ij Since different protocols contain different field types and numbers, a one-to-one mapping is not required; that is, it is not required that each t... ij Each has a corresponding p xyz It does not require each p xyz Each has a corresponding t ij That is, the unified data type T i Includes protocol P xy There are mapping relationships for the required fields; there are no mapping relationships for fields that are not included or that include fields that are not required by the system. However, for each existing mapping relationship, each p... xyz Only one t can be mapped ij Each t ij It can only correspond to one p xyz .like Figure 4 As shown, the process of establishing a mapping can be summarized as follows:

[0137] ① Select protocol P xy The corresponding unified data type T i Proceed to step ②;

[0138] ②Protocol P xy The fields p in xyz ,z <n xy Add to the set to be mapped; if the protocol field p xyz If a data field is composed of multiple subfields, then add those subfields to the set to be mapped; that is, the set to be mapped contains all data fields of the protocol that are not composed of subfields, as well as all subfields; proceed to step ③.

[0139] ③ Select a uniform data field t ij And select a mapping field p from the set to be mapped. xyz or subfield p′ xyz If t ij If there is no previous mapping relationship, proceed to step ④; otherwise, proceed to step ⑤.

[0140] ④ Establish mapping relationship map(t) ij ,p), and p xyz or p′ xyz Remove from the set to be mapped and proceed to step ⑥;

[0141] ⑤ If p xyz or p′ xyz Compared to the previous t ij If the mapped field p is the same, the mapping relationship remains unchanged; otherwise, a mapping relationship map(t) is established. ij Add the original mapped field p to the set to be mapped, and set p... xyz or p′ xyz Remove from the set to be mapped and proceed to step ⑥;

[0142] If the data mapping is not completed, return to step ③; otherwise, end the field mapping.

[0143] Step S3: Data Output Configuration

[0144] The data output configuration associates the internal unified data format with the output data protocol, enabling the data encoding output function to select the corresponding data protocol to encode the internally generated unified format data. The data output described in this invention is based on network protocol-based data transmission. The basic constraint is that one piece of data can be sent to one or more network addresses, and the sending protocols can be the same or different, but the data protocol sent to the same address is unique. The data output configuration information includes the receiving system name, receiving address number, data receiving address IP and port, data protocol type, and data protocol number. Figure 5 As shown, the basic process for configuring data output is as follows:

[0145] 1) Create or select data output information;

[0146] 2) Configure the data receiving system name, number, receiving IP address, and port;

[0147] 3) Select a protocol category from the supported data protocol categories in Data Protocol Template Management;

[0148] 4) Select a protocol number from all protocols defined in the data protocol category;

[0149] 5) Save the data source configuration information.

[0150] Step S4: Data encoding output

[0151] Data encoding and transmission involves encoding the uniformly formatted data to be output by the business system according to the corresponding protocol, completing data type and unit conversion. Data encoding and transmission is a continuously repeating cycle of acquiring data, encoding data, and sending data, such as... Figure 6 As shown, the general steps are as follows:

[0152] 1) Load data and output configuration information;

[0153] 2) Load the data protocol template based on the data output configuration information.

[0154] 3) Wait for the business system to provide the template mapping associated data in a unified format to be output;

[0155] 4) Map the unified data format to the protocol data format;

[0156] 5) Encode the data according to the data protocol template;

[0157] 6) Send the data to the corresponding address according to the output configuration information; return to step 2) and repeat the above process.

[0158] Template-based data mapping

[0159] The mapping of a unified data format to a protocol data format includes template-based data mapping. Template-based data mapping converts the internal unified data format into the data format defined by the corresponding protocol template, using the field names, data types, units, etc., defined in the template. For example... Figure 7 As shown, the basic steps are as follows:

[0160] 1) Obtain unified format data and corresponding protocol templates;

[0161] 2) Obtain the unified data format definition based on the unified data format type;

[0162] 3) Obtain data field mapping information from the protocol template; the number of mappings is n.

[0163] 4) Retrieve a set of mapping information in sequence, with the sequence number i and the unified data field name p. i The protocol template field name is t i ;

[0164] 5) Retrieve the uniform data field p from uniform format data i The corresponding data value v i If the data exists, proceed to step 6); otherwise, proceed to step 9.

[0165] 6) Retrieve field t from the protocol template data definitioni The definition includes data types and units, etc.

[0166] 7) Determine v i Check if the data type is consistent with the data field type in the protocol template; if not, perform type conversion.

[0167] 8) Determine v i Check if the data unit matches the unit of the data field in the protocol template; if not, perform unit conversion.

[0168] 9) Determine if the mapping is complete. If not, continue mapping in step 4); otherwise, output the protocol template data mapping result and end the mapping.

[0169] Data Encoding

[0170] Template-based data encoding converts the unified format data to be output into protocol template data, encodes it according to the corresponding protocol, and represents it as a byte data type. For fields that are not composed of subfields, the data value is directly encoded into bytes according to the data type; for fields composed of subfields, each subfield is encoded into binary and assigned to the corresponding binary bit in the total number of bytes of the field.

[0171] like Figure 8 As shown, the general steps for data encoding are as follows:

[0172] 1) Obtain the mapped protocol template format data. The total byte length of all fields in the protocol template is L bytes. Generate a byte array with a byte length of L and set the current compilation byte position k=1.

[0173] 2) Retrieve all content fields defined in the protocol template, with the number of fields recorded as n, and sort the fields in ascending order of their field numbers;

[0174] 3) Obtain the definition of the z-th field in sequence, where 1 ≤ z ≤ n, and the field length is l. z The unit is d i The maximum value is v maxz The minimum value is v minz ;

[0175] 4) Extract the byte array from the starting byte position k to the ending byte position k+l. z -1 bytes are used to store the encoding result of field z;

[0176] 5) Determine whether field z is composed of subfields. If yes, proceed to step 6); otherwise, proceed to step 7.

[0177] 6) Compile and assign values ​​to the subfields of the field respectively. After completion, proceed to step 11), such as... Figure 9 The subfield encoding is shown below:

[0178] ① Retrieve the definitions of all subfields of field z, where the number of subfields is n. z And sorted by subfield number;

[0179] ②The total length of all bytes in field z is B = l z *8, let the starting position be k z =1, 1≤k i ≤B;

[0180] ③ Define the j-th subfield of field z in sequence, with a subfield length of b. j The unit is d zj ;

[0181] ④ Get the subfield value v zj According to the field definition, obtain the subfield type. If it is an integer, proceed to step ⑤; if it is a floating-point type, proceed to step ⑥; if it is a character type, proceed to step ⑦.

[0182] ⑤ Convert the integer field value v zj When converted to binary format, the effective bit length r satisfies 2. r-1 <v zj <2 r+1 Proceed to step ⑧;

[0183] ⑥ Convert the floating-point data to binary format according to the IEEE 754 binary floating-point arithmetic standard, with an effective bit length of r, and proceed to step ⑧;

[0184] ⑦ Convert the string data to binary format according to the ASCII encoding standard, with an effective bit length of r, and proceed to step ⑧;

[0185] ⑧ If r > b j If the subfield length is insufficient to hold the corresponding value, compilation fails and ends; otherwise, the valid values ​​of the subfield are assigned to field z in order. z to k z +b j For bits with no valid value, the bit position is set to zero, and the assigned position k is updated. z =k z +b j +1;

[0186] ⑨ Determine if all subfields have been compiled. If so, end the compilation; otherwise, return to step ③ to compile the next subfield.

[0187] 7) Get the field value v z If the defined data type for transmission is integer, proceed to step 8); if it is floating-point, proceed to step 9); if it is character, proceed to step 10.

[0188] 8) Convert the integer field value vzj Convert to binary format and represent in bytes, with a byte length of R. Short integers do not exceed 2 bytes, integers do not exceed 4 bytes, and long integers do not exceed 8 bytes. Proceed to step 11.

[0189] 9) Convert the floating-point data to binary format according to the IEEE 754 binary floating-point arithmetic standard and represent it in bytes. Standard floating-point data is 4 bytes and double-precision floating-point data is 8 bytes. Proceed to step 11).

[0190] 10) Convert the string data to binary format according to the ASCII encoding standard, with the number of bytes being twice the number of characters, and proceed to step 11);

[0191] 11) Assign the compilation results to positions k+l in byte order. z Unassigned bytes are set to zero, and the compiled byte position k = k + l is updated. z +1;

[0192] 12) Determine if data compilation is complete, i.e., whether k is greater than the total byte length L. If not, return to step 3) to compile the next field; otherwise, proceed to step 13).

[0193] Output the compiled data and end the data compilation.

[0194] Data output

[0195] Data output involves sending the compiled data to a specified network address. The process is as follows:

[0196] 1) Obtain the compilation result data;

[0197] 2) Obtain data output configuration information;

[0198] 3) Establish a network connection based on the receiving IP address and port;

[0199] 4) Send data;

[0200] 5) Obtain the sending result status and complete the output.

[0201] Example 2

[0202] refer to Figure 1 As shown, this embodiment discloses a general and easily expandable air traffic control surveillance data encoding system, which completes the data encoding output according to the air traffic control surveillance data encoding method described in Embodiment 1.

[0203] Specifically, the air traffic control surveillance data encoding system includes a unified data definition unit, a protocol template management unit, a data output management unit, and a data encoding output unit.

[0204] Among them, the unified data definition unit is configured to complete the unified definition of data within the system, serve as the data format specification for data encoding, and associate the unified data with the data fields in the protocol;

[0205] The protocol template management unit is configured to establish a unified data structure for data protocols, supporting the addition, deletion, and modification of protocol templates, so that the system can support different standard data protocols or custom data protocols through configuration.

[0206] The data output management unit is configured to associate internally unified format data with data protocols;

[0207] The data encoding output unit is configured to encode internal uniform format data according to the corresponding protocol and send the data in the form of network packets according to the address and port in the output configuration.

[0208] By using the method and / or system of this invention, as long as the data protocol template and data output configuration rules are followed, the software's data protocol and output information can be configured to support the encoding output of data with different data protocols, quickly adapting to the data interaction or data sharing needs of different business scenarios, without having to modify the software to support specific data protocols and requirements.

[0209] With the method and / or system of this invention, if the supported data protocol changes, only the corresponding data protocol template needs to be modified to support the changed data protocol, without having to modify the software code due to the protocol change.

[0210] By using the method and / or system of this invention, it is only necessary to establish or update a unified data definition and establish a mapping relationship between data protocol fields and fields in the unified data definition to meet the data output requirements of different preceding data processing and business systems, without modifying the software code.

[0211] The method and / or system of this invention make it simpler and more convenient to develop and customize data encoding output software for different scenarios, enabling data encoding output capabilities in a low-code manner; at the same time, clear data definitions help improve system deployment and operation efficiency and reduce system deployment and operation costs.

[0212] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A universal and easily expandable air traffic control surveillance data encoding method, characterized in that, The air traffic control surveillance data encoding method includes: S1: Unified data definition, based on business scenarios and external system data requirements, defines the composition and description of various types of data to be encoded and output by the system; S2: Protocol template management, configure the technical protocols supported by the system, configure different data protocols of different categories according to scenario requirements, and establish a mapping relationship between unified data defined within the system and different protocol contents; S3: Data output configuration, based on the system's data protocol and requirement data, establishes the association between the data output interface and the data protocol; S4: Data encoding output. Based on the data output configuration information, the data is encoded according to the corresponding data protocol and sent to the configured address and port. Step S4: Data encoding output includes the following steps: S41: Load data and output configuration information; S42: Load the data protocol template based on the data output configuration information; S43: Waiting for the business system to provide template mapping associated, unified format data to be output; S44: Uniform data format mapping to protocol data format; S45: Encode the data according to the data protocol template; S46: Send the data to the corresponding address according to the output configuration information; return to step S42 and repeat the process from step S43 to step S46; Step S45 specifically includes the following steps: S4501: Obtain the mapped protocol template format data. The total byte length of all fields in the protocol template is L bytes. Generate a byte array of length L and set the current compilation byte position. ; S4502: Retrieve all content fields defined in the protocol template, with the number of fields denoted as n, and sort the fields in ascending order of their field numbers; S4503: Retrieve the definition of the z-th field in sequence. The field length is The unit is The maximum value is The minimum value is ; S4504: Extract the starting byte position from the byte array. To the end position 10 bytes are used to store the encoding result of field z; S4505: Determine whether field z is composed of subfields. If yes, proceed to step S4506; otherwise, proceed to step S4507. S4506: Compile and assign values ​​to the subfields of the field respectively, and then proceed to step S4511; S4507: Retrieving Field Values If the defined transmission data type is integer, proceed to step S4508; if it is floating-point, proceed to step S4509; if it is character, proceed to step S4510. S4508: Transfer integer field value Convert to binary format and represent in bytes, with a byte length of R. Short integers do not exceed 2 bytes, integers do not exceed 4 bytes, and long integers do not exceed 8 bytes. Proceed to step S4511. S4509: Convert the floating-point data into binary format according to the IEEE 754 binary floating-point arithmetic standard and represent it in bytes. Standard floating-point data is 4 bytes and double-precision floating-point data is 8 bytes. Proceed to step S4511. S4510: Convert the string data into binary format according to the ASCII encoding standard, with the number of bytes being twice the number of characters, then proceed to step S4511; S4511: Assign the compilation results to the first byte order. Arrive at the location Unassigned bytes are set to zero, and the compiled byte position k is updated. ; S4512: Determine whether the data compilation is complete, i.e., whether k is greater than the total byte length L. If not, return to step S4503 to compile the next field; otherwise, proceed to step S4513. S4513: Output the compilation result data and end the data compilation; S4506: Compiling and assigning values ​​to the subfields of a field specifically includes: S45061: Retrieves the definitions of all subfields of field z, with a total number of subfields. And sorted by subfield number; S45062: The total length of all bytes in field z is B= 8. Set the starting position ; S45063: Define the j-th subfield of field z in sequence, with the subfield length being... The unit is ; S45064: Retrieve Subfield Value According to the field definition, obtain the subfield type. If it is an integer, proceed to step S45065; if it is a floating-point type, proceed to step S45066; if it is a character type, proceed to step S45067. S45065: Transfer integer field value Convert to binary format, effective bit length satisfy Proceed to step S45068; S45066: Converts floating-point data to binary format according to the IEEE 754 Binary Floating-Point Arithmetic Standard, with a valid bit length of [missing information]. Proceed to step S45068; S45067: Convert string data to binary format according to the ASCII encoding standard, effective bit length. Proceed to step S45068; S45068: If If the length of the subfield is insufficient to hold the corresponding value, compilation fails and ends; otherwise, the valid values ​​of the subfield are assigned to field z in order. arrive + For bits with no valid value, the bit position is set to zero, and the assignment position is updated. ; S45069: Determine if all subfields have been compiled. If yes, end the compilation; otherwise, return to step S45063 to compile the next subfield.

2. The air traffic control surveillance data encoding method as described in claim 1, characterized in that, Step S1 includes: completing the unified definition of data within the system, including the field composition of various types of data, the type of each field and the data representation unit, as a data format specification for data encoding.

3. The air traffic control surveillance data encoding method as described in claim 1, characterized in that, Step S2 includes: S21: Create a new protocol template or select one. Creating a new template requires specifying the protocol type P. x and protocol number P xy ; S22: Add or edit content fields in sequence S23: Defines a subfield of the protocol field; S24: Verify the protocol template. For all protocol fields that are split into subfields, the sum of the bit lengths of all subfields is not greater than the sum of the bit lengths of the corresponding protocol field. S25: Establishing Protocols and Unified Data Types Field mapping relationships.

4. The air traffic control surveillance data encoding method as described in claim 3, characterized in that, Step S25 includes the following steps: S251: Protocol Selection Corresponding unified data type Proceed to step S252; S252: Agreement Each field in Add to the set to be mapped; if the protocol field If a data field is composed of multiple subfields, then its subfields are added to the set to be mapped; that is, the set to be mapped contains all data fields of the protocol that are not composed of subfields, as well as all subfields; proceed to step S253; S253: Select a uniform data field And select a mapping field from the set to be mapped. or subfield ,like If there is no mapping relationship, proceed to step S254; otherwise, proceed to step S255. S254: Establish mapping relationship and will or Remove from the set to be mapped, proceed to step S256; S255: If or Compared to before If the mapped field p is the same, the mapping relationship remains unchanged; Otherwise, establish a mapping relationship. Add the original mapped field p to the set to be mapped, and or Remove from the set to be mapped, proceed to step S256; S256: If the data mapping is not completed, return to step S253; otherwise, end the field mapping.

5. The air traffic control surveillance data encoding method as described in claim 1, characterized in that, Step S3: Data output configuration includes: S31: Create or select data output information; S32: Configure the data receiving system name, number, receiving IP address, and port; S33: Select a protocol category from the data protocol categories supported in the data protocol template management; S34: Select a protocol number from all protocols defined in the data protocol category; S35: Save data source configuration information.

6. The air traffic control surveillance data encoding method as described in claim 1, characterized in that, Step S44 specifically includes: S441: Obtain unified format data and corresponding protocol template; S442: Obtain the unified data format definition based on the unified data format type; S443: Obtain data field mapping information from the protocol template, with a mapping quantity of n; S444: Retrieve a set of mapping information in sequence, with the sequence number i and the unified data field name as... The protocol template field name is ; S445: Retrieving Uniform Data Fields from Uniform Format Data Corresponding data value If the data exists, proceed to step S446; otherwise, proceed to step S449. S446: Retrieve fields from protocol template data definition The definition includes data type and unit; S447: Judgment Check if the data type is consistent with the data field type in the protocol template; if not, perform type conversion. S448: Judgment Check if the data unit matches the unit of the data field in the protocol template; if not, perform unit conversion. S449: Determine if the mapping is complete. If not, continue mapping in step S444; otherwise, output the protocol template data mapping result and end the mapping.

7. A universal and easily expandable air traffic control surveillance data encoding system, characterized in that, The air traffic control surveillance data encoding system completes the data encoding output according to the air traffic control surveillance data encoding method as described in any one of claims 1 to 6; The air traffic control surveillance data encoding system includes a unified data definition unit, a protocol template management unit, a data output management unit, and a data encoding output unit. Among them, the unified data definition unit is configured to complete the unified definition of data within the system, serving as a data format specification for data encoding; The protocol template management unit is configured to establish a unified data structure for data protocols, support the addition, deletion and modification of protocol templates, and associate and map unified data with data fields in the protocol so that the system can support different standard data protocols or custom data protocols through configuration. The data output management unit is configured to manage the type and address of data output requests and establish the association between the data output interface and the data protocol; The data encoding output unit is configured to encode internal uniform format data according to the corresponding protocol and send the data in the form of network packets according to the address and port in the output configuration.

Citation Information

Patent Citations

  • Templated protocol generation and management method

    CN113312033A