A mirror symbol information processing method, system, device and storage medium

By optimizing the storage of kernel image symbol information through dual indexing and compression algorithms, the problems of low retrieval efficiency and low storage space utilization in the existing technology are solved, efficient symbol information retrieval and compact storage are achieved, and the development and debugging efficiency of the operating system is improved.

CN118939194BActive Publication Date: 2025-09-26上海睿赛德电子科技有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410995138.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-24
Publication Date
2025-09-26
Estimated Expiration
2044-07-24

AI Technical Summary

Technical Problem

The existing kernel image symbol information storage method has problems such as low retrieval efficiency, poor availability, insufficient indexing mechanism, data redundancy and low storage space utilization, which especially affects efficiency during operating system development and debugging.

Method used

A symbol information data storage and retrieval method with dual indexing is proposed, including the indexing method of symbol string and symbol address, combined with compression algorithm to optimize storage space, and the original data is decoded through symbol information ID, and the data storage table and coding table in the symbol information storage module are used for rapid retrieval.

Benefits of technology

It improves the efficiency of kernel development and debugging process, optimizes system storage space, reduces redundant data occupation, supports multi-key retrieval, adapts to different data characteristics and simplifies system maintenance and upgrades.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118939194B_ABST
    Figure CN118939194B_ABST
Patent Text Reader

Abstract

The present invention provides a mirror symbol information processing method, system, device and storage medium, including a compression storage method and a retrieval method. The dual-index-based symbol information data storage and retrieval can support kernel debugging, performance analysis and troubleshooting activities during the operating system kernel operation cycle, promote the efficiency of kernel development and debugging processes, adopt different data compression schemes according to the characteristics of different data, realize compact storage of symbol information, optimize system storage space, reduce the occupation of redundant data, and help improve the utilization efficiency of system resources and reduce storage overhead costs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of information processing technology, and in particular to the field of information storage, compression and retrieval technology. Background Art

[0002] A kernel image is a binary file compiled from the operating system kernel. It contains the instructions and data required for the operating system to start and run. In the development and deployment of the operating system, the kernel image is the basic building block.

[0003] Symbols are names used to identify entities such as variables and functions in computer programs. A symbol table is a data structure that stores information such as the name, type, scope, and memory address of all symbols in a program image. This information is generated during program compilation and is crucial for linkers and debuggers, which use this information to resolve symbol references in programs and display debugging information.

[0004] As the complexity of operating systems increases, the size and complexity of kernel images also increase, which makes the management of kernel images more difficult. Regarding the storage and management of kernel image symbol information, the existing technical solutions described below have some problems.

[0005] An existing method for storing kernel image symbol information is to store it in an ELF (Executable and Linkable Format) file on disk. This storage method has the following problems:

[0006] 1. Retrieval efficiency issues. Kernel images in ELF format are usually stored on external devices, such as hard disks or solid-state drives. When the operating system needs to access or retrieve symbol information, it must read data from these storage devices. Since the access speed of external storage devices is usually lower than that of memory, this may result in a large performance overhead when performing symbol information retrieval. Especially in scenarios where symbol queries and debugging are frequently performed, this access delay may significantly reduce the efficiency of development and debugging. In addition, this method may require traversing the entire symbol table when retrieving a specific symbol, which also leads to low retrieval efficiency.

[0007] 2. Availability issues: ELF symbol tables are difficult to maintain and update synchronously when the kernel image is updated. This can trigger potential data inconsistencies. The risk of data inconsistency increases debugging complexity and can reduce the development efficiency of maintainers.

[0008] Another existing kernel image built-in symbol table implemented on the Linux operating system uses a linear table organization format. This storage implementation faces the following challenges when processing large-scale kernels:

[0009] (1) Insufficient indexing mechanism: When the kernel is large and the number of symbols is huge, the linear table organization lacks an efficient indexing mechanism. This results in a high time complexity for finding specific symbols during reverse engineering, dynamic tracing, or troubleshooting, affecting the efficiency of development and debugging.

[0010] (2) Data redundancy and storage space utilization issues: Although string compression schemes have been introduced in Linux implementations, there is still a lack of suitable compression methods for fixed-length data information such as symbol addresses, symbol lengths, and symbol type identifiers, which also occupy a large amount of memory. This not only reduces storage space utilization, but also increases potential storage costs and resource waste.

[0011] (3) Limitations of single-key search: Linear table structures can usually only support efficient searches based on a single key. This means that if symbol retrieval is required based on multiple attributes or conditions, the linear table method will not provide effective support. This limitation restricts the flexibility and complexity of kernel symbol information retrieval. Summary of the Invention

[0012] In order to solve the above technical problems, the present invention provides a mirror symbol information processing method, including a compression storage method and a retrieval method, wherein the retrieval method includes

[0013] Decoding the original data, the symbol information storage module decodes the original data from the symbol string data storage table, the prefix encoding data and the symbol character data storage table respectively through the symbol information ID;

[0014] Retrieve symbol records via symbol information.

[0015] Furthermore, the method for decoding the original data from the symbol string data storage table includes: querying the corresponding symbol string starting address according to the symbol information ID; continuously reading characters; if the character is in the key of the symbol string encoding table, querying the symbol string encoding table and replacing the character; repeating the above replacement steps until the end character is read; obtaining the complete symbol string, and the decoding is completed.

[0016] Furthermore, the method for decoding original data from prefix-coded data includes: obtaining a data record item using symbol information ID, ID index and data word length of a mapping table; obtaining the prefix code in the data record item according to the number of coding bits of the current level coding table, and if the prefix code of the data record item is valid, combining the offset of the non-prefix code of the data record item and the prefix code to generate a new prefix code; if the prefix code of the data record item is invalid, obtaining the secondary coding table index ID from the non-prefix-coded data of the data record item, obtaining the secondary coding table address offset from the data storage table, and finding the secondary address table according to the address offset, repeating the invalid prefix code processing process until the obtained prefix coding data or the data word length is equal to the leaf storage table of the machine word length; obtaining the prefix coding data.

[0017] Furthermore, the method for decoding original data from the symbol character data storage table includes: querying the indirect mapping table according to the symbol information ID to obtain the re-encoded record item of the corresponding symbol character, using the data item to index in the indirect encoding table to obtain the original character.

[0018] Furthermore, the method for retrieving symbol records through symbol information includes:

[0019] The routine uses a specified search algorithm to retrieve the specific symbol information ID from the index data and symbol storage data, using the symbol address or symbol string passed as a parameter. Once the symbol information ID is found, the routine uses it to decompress and retrieve the required data from the various storage areas containing the symbol's string, address, type identifier, and length information. Through these steps, the routine ultimately obtains a complete record of information associated with a specific symbol.

[0020] The present invention also provides a mirror symbol information processing system, including a symbol information storage module, which includes the following data storage bytes: a data description header, an ID index and mapping table, a symbol string data storage table, a symbol address data storage table, a symbol type identification character data storage table, and a symbol length data storage table. The data description header is set at the starting address of the data section, and the ID index and mapping table, the symbol string data storage table, the symbol address data storage table, the symbol type identification character data storage table, and the symbol length data storage table are not set in a fixed order.

[0021] Furthermore, the ID index and mapping table includes a symbol address ID and a symbol string ID.

[0022] Furthermore, the symbol string data storage table stores a symbol string offset table, a symbol string encoding table, and symbol string compressed data, and the symbol information ID is used when indexing the symbol string data storage table.

[0023] Furthermore, the symbol type identification character data storage table stores the symbol type identification character encoding character number, the symbol type identification character indirect encoding table, and the symbol type identification character indirect mapping table, and uses the symbol information ID when indexing the symbol type identification character data storage table.

[0024] Furthermore, the symbol address data storage table and the symbol length data storage table store prefix coding data, and the prefix coding data includes the number of coding bits, data word length, secondary coding table and address offset, current level coding table and address offset, index data table, and the symbol information ID is used when indexing the symbol address data storage table.

[0025] Furthermore, the arrangement of elements in the symbol string data storage table, the symbol address data storage table, the symbol type identification character data storage table, and the symbol length data storage table adopts the symbol record ID, and the symbol record ID includes the symbol string ID and the symbol address ID. The elements of the offset table or the indirect mapping table of the data storage bytes in the symbol information storage module are arranged in order according to the symbol record ID, and the elements contained in the ID mapping table are not arranged in order according to the symbol record ID.

[0026] The present invention also provides a device for storing mirror information, comprising a module for executing the method according to any one of claims 1 to 5, characterized in that it includes a processor and an interface circuit, the interface circuit being used to receive signals from devices other than the device for executing kernel-mode commands and transmit them to the processor or to send signals from the processor to devices other than the device for executing kernel-mode commands, and the processor being used to implement the method according to any one of claims 1 to 5 through a logic circuit or executing code instructions.

[0027] Furthermore, when the computer program is executed by a processor, the method according to any one of claims 1 to 5 is implemented.

[0028] The beneficial effects of the present invention are:

[0029] 1. The system and device of the present invention, based on dual-index symbolic information data storage and retrieval, can support kernel debugging, performance analysis, and troubleshooting activities during the operating system kernel's operation cycle, thereby improving the efficiency of the kernel development and debugging process;

[0030] 2. Supports two indexing methods for retrieving symbol information: symbol address-based and symbol string-based. Compared to linear table storage, this supports more search keys, enabling the kernel to efficiently search for symbol information in a wider range of scenarios. In performance tracking scenarios, the additional string search index can effectively improve the efficiency of symbol information location based on symbol strings.

[0031] 3. Adopting different data compression schemes based on the characteristics of different data can achieve compact storage of symbol information, optimize system storage space, reduce the occupation of redundant data, and help improve the utilization efficiency of system resources and reduce storage overhead costs;

[0032] 4. The introduction of an abstraction layer avoids direct dependence on a specific index or string compression algorithm. This invention allows different string compression and indexing algorithms to be easily replaced and updated as modular components, enabling the system to adopt the most appropriate algorithm implementation based on the characteristics of the dataset. It can also better adapt to new algorithm developments and improve the efficiency of system maintenance and upgrades.

[0033] 5. The image symbol information processing system adopted by the present invention is designed by extracting the universal symbol information structure from the common executable file format. The symbol information is described by a five-tuple. This format is not only suitable for a specific executable file format or a specific operating system environment, but can also be easily migrated and adapted to other formats, operating systems, and even any general executable program image outside the operating system. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Figure 1 is a flow chart of the method of the present invention;

[0035] Figure 2 It is an internal relationship diagram of the symbol information storage module of the present invention;

[0036] Figure 3 It is a diagram describing the internal relationship of the data description header of the present invention;

[0037] Figure 4 It is the internal relationship diagram of the ID index and mapping table of the present invention;

[0038] Figure 5 It is an internal relationship diagram of the symbol string data storage table of the present invention;

[0039] Figure 6 It is the internal relationship diagram of the prefix coding data of the present invention;

[0040] Figure 7 It is an internal relationship diagram of the symbol type identification word data storage table of the present invention;

[0041] Figure 8 This is a logic diagram of the construction process of the symbol information storage device of embodiments 1 and 2 of the present invention;

[0042] Figure 9 This is a flow chart of a symbolic address retrieval method according to embodiment 1 of the present invention;

[0043] Figure 10This is a flow chart of the symbol string retrieval method according to embodiment 1 of the present invention;

[0044] Figure 11 is a flow chart of the retrieval method according to embodiment 2 of the present invention;

[0045] Figure 12 This is a schematic diagram of a binary algorithm flow chart of a retrieval method according to embodiment 1 of the present invention;

[0046] Figure 13 This is a schematic diagram of the overall relationship between the internal modules of the system in Example 1 of the present invention. DETAILED DESCRIPTION

[0047] The technical solution of the present invention is further described below, but the scope of protection claimed is not limited to the description.

[0048] In order to make the objectives, technical solutions and advantages of the present invention more clear, the present invention is described in detail below with reference to the accompanying drawings and specific embodiments.

[0049] Example 1

[0050] The operating system in this embodiment is an RT-Thread real-time embedded operating system based on the aarch64 architecture platform. In this embodiment, the final symbol table size is preset to be no more than 4GB. Based on the above environment, the data description header in this embodiment is set to consist of a 4-byte length member. Other members in the symbol information storage module include:

[0051] 1. Identification code, a special number that records the identification symbol information storage module, composed of the ASCII codes of the four characters 'kstb' arranged from high to low;

[0052] 2. Total number of symbol records, which records the total number of symbol records stored in the symbol table;

[0053] 3. Symbol alignment size, which records the order of the alignment size of the symbol data;

[0054] 4. The symbol string stores data, the symbol address stores data, the symbol type identification character stores data, and the symbol length stores the starting address offset of the four data sections.

[0055] This embodiment implements the indexing of symbol addresses or symbol strings to symbol records through a binary search algorithm. The binary search algorithm is a widely used search algorithm for ordered data sets. Corresponding to the binary search algorithm, the symbol addresses and symbol string IDs of this embodiment are respectively allocated in alphabetical order according to the symbol addresses or strings.

[0056] This embodiment uses the symbol address ID as the symbol record ID. Correspondingly, the ID index and mapping table is an ordered array consisting of the symbol address ID corresponding to the symbol string ID as elements. The order of the elements is arranged in ascending order according to the size of the symbol string ID.

[0057] This embodiment uses a lossless dictionary compression algorithm based on extended ASCII encoding to compress string data. This algorithm uses extended ASCII encoding, where codes 128 to 255 represent frequently occurring substrings. These substrings are stored in a dictionary and all occurrences of these substrings in the text are replaced with extended characters. The symbol string encoding table in this embodiment contains 128 entries; each extended code is fixedly represented as a two-byte continuous ASCII code.

[0058] Search method:

[0059] This embodiment implements fast retrieval of symbol information in the symbol information storage device by means of symbol addresses and symbol character strings.

[0060] (1) Since the symbol address ID is also the symbol information ID, when performing a binary search, the middle value of each search index set is directly used as the index. The symbol address 110 is obtained from the symbol address data storage table and compared with the symbol address 210 to be searched. The search range is adjusted according to the comparison result of the binary algorithm. The above process is repeated until only one symbol address 310 remains in the search set. If the symbol address 310 is equal to the symbol address 110, the ID corresponding to the symbol address is found. Otherwise, the symbol address does not exist in the symbol information table and an error is returned. At the same time, the ID of the previous symbol address closest to the search address is returned. Since address search is not always performed directly through the starting address of the symbol, the caller can further determine whether the queried address belongs to the previous symbol based on the address range of the previous symbol.

[0061] The above binary algorithm adjusts the search range as follows:

[0062] Update the symbol address 110 to the median in the search set, determine the size of the symbol address 210 and the symbol address 110, if the symbol address 210 is less than the symbol address 110, delete all elements in the search set that are greater than the symbol address 110; if the symbol address 210 is greater than or equal to the symbol address 110, delete all elements in the search set that are less than the symbol address 110; determine whether there are more than 1 elements in the search set, if there are more than 1, return to the first step of the binary range adjustment method, if there is only 1 element left, retain this element as the symbol address 310.

[0063] (2) Rapid retrieval of symbol information in a symbol information storage device is achieved by using a symbol string. This method still uses a binary algorithm to compare results. The specific method is as follows:

[0064] In order to obtain intermediate data, the routine first obtains the symbolic address ID corresponding to the symbolic string ID, that is, the symbolic information ID, from the ID index and mapping table, and then obtains the symbolic string 210 from the symbolic string storage data node through the symbolic information ID, compares it with the symbolic string 220 to be queried, and adjusts the search range according to the comparison result of the binary algorithm. The above process is repeated until only one symbolic string is left in the search set. If the string is equal to the search string, the ID corresponding to the symbolic string is found, otherwise the symbolic string does not exist in the symbolic information table. The method of adjusting the search range to only one element as the symbolic string through the binary algorithm in the above method is the same as the above method.

[0065] In order to smoothly implement the method and system in this embodiment, the construction method and principle of the symbol information storage module are as follows:

[0066] Use the GNU binary tool nm to extract symbol information;

[0067] Use Python scripts and interpreters to construct and compile symbolic information storage devices;

[0068] Use the gcc tool to implement image relinking, and the adopted prefix threshold is 62.

[0069] S100. Set up a symbol data parsing module, first use the nm tool to analyze the symbols in the target image file and output them as ASCII-encoded text, and then dump them into file 800 to complete the symbol information extraction of the original kernel image.

[0070] File 800 is deserialized into a binary symbol table that can be manipulated by the Python interpreter. This step is primarily accomplished using a text parser implemented in a Python script. The parser reads the text file generated in the previous step line by line, then uses a tokenizer to break down the components within each symbol record. Each component is then parsed as a string or data, resulting in a binary symbol information record. This process is repeated until the entire file 800 is processed, generating the kernel symbol information table in its original format.

[0071] S200 sets the index compilation module, sorts the records in the original format of the kernel symbol information table in order of the size of the symbol address and the symbol string, assigns a symbol string ID and a symbol address ID, and then inserts the assigned ID into the symbol information table, sorts each record in the kernel symbol information table in ascending order of the size of the symbol address ID;

[0072] The corresponding symbolic address IDs are arranged in order according to the numerical size of the string IDs, and organized into a binary data stream of ID indexes and mapping tables.

[0073] Generates the processed symbol information table and ID index and mapping table data section.

[0074] S300. Set up a symbol string compression module and a symbol string compilation module, traverse the symbol string data in the kernel symbol information table, obtain several substrings of length 2 in turn and count their occurrence frequencies, find the most frequent substring of the current text at the end of the traversal, and assign a new dictionary item and encoding to it, traverse the text again, obtain substrings of length 2 in turn, if the substring is a high-frequency substring, replace its text with the new extended ASCII encoding, otherwise count its occurrence frequency; repeat the above high-frequency substring encoding and replacement process until all 128 dictionary items are used up, and finally generate a symbol string encoding dictionary and its corresponding symbol string storage data section.

[0075] S400. Set up a data preprocessing module, a prefix compression module, and a symbol address and length compilation module, traverse the symbol address and length data in the kernel symbol information table, logically shift each data right by 2 data bits, use the prefix compression method to read the two parts of data and construct a compression coding table respectively, use the compression coding table to traverse the symbol address and length data in the processing information table, and obtain two data storage table sequences, where each sequence may contain multiple data storage tables, serialize the data storage tables at all levels into binary data, and generate symbol address and symbol length storage data sections.

[0076] S500. Set up a symbol type identification character compression module and a symbol type identification character compilation module, traverse the symbol character data in the kernel symbol information table, and assign codes to all characters that appear; after the traversal is completed, serialize each item of the coding table data into binary data of one byte length, and generate the number of coded characters at the same time; traverse the symbol characters of the symbol information table again, convert the characters into new codes, output them to the indirect mapping table binary data stream, and finally compile them into a whole to obtain the symbol type identification character storage data section.

[0077] S600. Set the compilation module of the symbol information storage device. Since the default data description header in this embodiment contains 8 data items of 4 bytes in length, the ID index and mapping table address are the starting address of the data description header plus 32 bytes. Therefore, the compilation module also needs to calculate the obtained module length, add it to the length of the previous data section in turn, and obtain the offset address of the four data sections of symbol string, address, flag character and length, and then combine the above data into a binary data stream of the data description header.

[0078] The module reads out the binary data streams of the remaining data sections in sequence and links them into the binary data stream of the symbol information storage device.

[0079] S700. Set up an image relink module and add an additional fixed symbol, symbol information storage device_start, to the image to mark the address of the symbol information storage device. This allows references to its address in the code segment. The binary data of the symbol information storage device is converted into a C language array in 4-byte format and stored in a file. This file ensures that the symbol information storage device and the original image have consistent endian alignment. The file is then compiled into an object file and, along with the originally compiled object file, is relinked to the end of the image data segment using the gcc toolchain. This ensures that the symbolic link address of the original symbol is not modified by the insertion of the symbol information storage device.

[0080] The symbol information of the new image is obtained again using the nm tool and compared with the originally saved file to ensure that the symbol address information is consistent. If not, a warning will be issued, indicating that the link script is written incorrectly. Finally, the kernel image is generated with the symbol information storage device embedded.

[0081] Example 2

[0082] In this embodiment, a hash algorithm is used as an index algorithm for symbolic addresses or character strings.

[0083] Taking the rolling hash algorithm as an example, the index table length needs to be expanded to a prime number greater than the number of symbols in the symbol table. Each element in the index table corresponds to the symbol information ID of the index item, and the elements are sorted by the size of the string index ID.

[0084] In this embodiment, symbol record search using a symbol string as a key is implemented through a pre-constructed character hash index table, a rolling hash algorithm is used to calculate the hash value 330 of the string to be queried, the hash value 330 is used as the string index ID, the symbol record ID is obtained from the character hash index table, and then the corresponding string 310 is obtained from the symbol string storage table, and the query string 320 is compared with the string 310 corresponding to the ID. If they are the same, the search is successful, otherwise the next string index ID is selected based on the linear detection method to continue retrieving its corresponding string and compare it with the current query string. The process is repeated until the search is successful or it is determined that the string does not exist in the symbol table.

[0085] In this embodiment, the index compilation module needs to construct a character hash index table based on the hash algorithm. First, the module finds a prime number greater than twice the number of symbol records, creates a fixed-size hash table, and initializes all index positions to empty. For each symbol address string to be inserted, first calculate its hash value and determine its initial insertion position. If the index position corresponding to the calculated hash value is already occupied, a hash conflict occurs. At this time, an open addressing method needs to be used to handle the conflict. According to the linear detection method, starting from the position where the conflict occurs, the next available index position is sequentially detected. Once an idle index position is found, the data is inserted into this position. If a conflict still occurs when inserting data, the next available index position is continuously detected until the data is successfully inserted. After completing the insertion operation of all symbol address strings, the hash table construction process is completed.

[0086] The other methods, systems and structures of this embodiment are the same as those of embodiment 1.

[0087] Through Example 2, data retrieval based on symbol strings can achieve the theoretical value of constant time complexity. Compared with Example 1, it has higher efficiency in the use scenario of symbol performance monitoring. The disadvantage is that it requires more memory space to store the index table. In addition, this algorithm is prone to hash collisions, which leads to degraded search performance. Therefore, in terms of maintenance, more attention should be paid to the performance of the hash table after actual application to the data set.

[0088] The above embodiments are preferred solutions for implementing the present invention. It should be noted that any obvious replacements and minor changes are within the scope of protection of the present invention without departing from the concept of the present invention.

Claims

1. A mirror symbol information processing method, characterized in that: The method includes: Decoding the original data, the symbol information storage module decodes the original data from the symbol string data storage table, the prefix encoding data, and the symbol character data storage table respectively according to the symbol information ID; wherein the prefix encoding data includes the symbol address data storage table and the symbol length data storage table; the symbol character data storage table is a coding table of the symbol type; Retrieve symbol records using the symbol information ID; Decoding the original data from the prefix coded data includes: obtaining a data record item using the symbol information ID, ID index and data word length of the mapping table; obtaining the prefix code in the data record item according to the number of coding bits of the current level coding table, and if the prefix code of the data record item is valid, combining the offset of the non-prefix code of the data record item and the prefix code to generate a new prefix code; if the prefix code of the data record item is invalid, obtaining the secondary coding table index ID from the non-prefix coded data of the data record item, obtaining the secondary coding table address offset from the data storage table, and finding the secondary address table according to the address offset, repeating the invalid prefix code processing process until the obtained prefix coding data or the data word length is equal to the leaf storage table of the machine word length; obtaining the prefix coding data.

2. The mirror symbol information processing method according to claim 1, wherein: Decoding the original data from the symbol string data storage table includes: querying the corresponding symbol string starting address according to the symbol information ID; continuously reading characters; if the character is in the key of the symbol string encoding table, querying the symbol string encoding table and replacing the character; repeating the above replacement steps until the end character is read; obtaining the complete symbol string, and decoding is completed.

3. The mirror symbol information processing method according to claim 1, wherein: Decoding the original data from the symbol character data storage table includes: querying the indirect mapping table according to the symbol information ID to obtain the re-encoded record item of the corresponding symbol character, using the data item to index in the indirect encoding table to obtain the original character.

4. The method for processing mirror symbol information according to claim 1, wherein: Retrieving symbol records through symbol information includes: The routine uses the specified search algorithm to retrieve the symbol address or symbol string in the routine parameter from the index data and symbol storage data to obtain a specific symbol information ID; after finding the symbol information ID, the routine will use this ID to decompress and obtain the required data from different storage areas that respectively store the symbol's string, address, type identification character, and length information; through these steps, the routine finally obtains the complete record information related to the specific symbol.

5. A mirror image symbol information processing system using the mirror image symbol information processing method according to any one of claims 1 to 4, characterized in that: It includes a symbol information storage module, which includes the following data storage bytes: a data description header, an ID index and mapping table, a symbol string data storage table, a symbol address data storage table, a symbol type identification character data storage table, and a symbol length data storage table. The data description header is set at the starting address of the data section, and the ID index and mapping table, the symbol string data storage table, the symbol address data storage table, the symbol type identification character data storage table, and the symbol length data storage table are not set in a fixed order.

6. The mirror symbol information processing system according to claim 5, wherein: The ID index and mapping table includes a symbol address ID and a symbol string ID.

7. The mirror symbol information processing system according to claim 5, wherein: The symbol string data storage table stores a symbol string offset table, a symbol string encoding table, and symbol string compressed data, and uses symbol information ID when indexing the symbol string data storage table.

8. The mirror symbol information processing system according to claim 5, wherein: The symbol type identification character data storage table stores the symbol type identification character encoding character number, the symbol type identification character indirect encoding table, and the symbol type identification character indirect mapping table, and uses the symbol information ID when indexing the symbol type identification character data storage table.

9. The mirror symbol information processing system according to claim 5, wherein: The symbol address data storage table and the symbol length data storage table store prefix coding data, and the prefix coding data includes the number of coding bits, data word length, secondary coding table and address offset, current level coding table and address offset, index data table, and the symbol information ID is used when indexing the symbol address data storage table.

10. The mirror symbol information processing system according to claim 5, wherein: The arrangement of elements in the symbol string data storage table, the symbol address data storage table, the symbol type identification character data storage table, and the symbol length data storage table adopts the symbol record ID. The symbol record ID includes the symbol string ID and the symbol address ID. The elements of the offset table or the indirect mapping table of the data storage bytes in the symbol information storage module are arranged in order according to the symbol record ID, and the elements contained in the ID index and the mapping table are not arranged in order according to the symbol record ID.

11. A device for storing image information, comprising a module for executing the method according to any one of claims 1 to 4, characterized in that: It includes a processor and an interface circuit, wherein the interface circuit is used to receive signals from other devices other than the device that executes kernel mode commands and transmit them to the processor or send signals from the processor to other devices other than the device that executes kernel mode commands, and the processor is used to implement the method as described in any one of claims 1 to 4 through logic circuits or execution code instructions.

12. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 4 is implemented.

Citation Information

Patent Citations

  • Short block length distribution matching algorithm

    CN113632397A

  • Decoding processing method and device, computer equipment and storage medium

    CN115276889A