WO2024001630A1 - Information storage method and device, information reading method, and device and storage medium - Google Patents
Information storage method and device, information reading method, and device and storage medium Download PDFInfo
- Publication number
- WO2024001630A1 WO2024001630A1 PCT/CN2023/096570 CN2023096570W WO2024001630A1 WO 2024001630 A1 WO2024001630 A1 WO 2024001630A1 CN 2023096570 W CN2023096570 W CN 2023096570W WO 2024001630 A1 WO2024001630 A1 WO 2024001630A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- level
- information
- index
- hash
- hash table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3013—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
Definitions
- This application relates to the field of information processing technology, especially an information storage and reading method, device and storage medium.
- traceability information refers to information that describes the sequence of procedure calls. Based on this information, the running process of the system can be traced back.
- Embodiments of the present application provide an information storage and reading method, device and storage medium.
- embodiments of the present application provide an information storage method, including: obtaining traceable information, wherein the traceable information includes a process call series; constructing a multi-level hash table, wherein the bit-divided array is divided according to the The process call level is set, and the number of buckets in each level of the hash table is set according to the corresponding process call level; the traceable information is stored in the multi-level hash table according to the process call level, where each level The same traceable information in the hash table is stored only once; the traceable information index is returned.
- embodiments of the present application provide an information reading method, including: obtaining a traceable information index, wherein the traceable information index is obtained according to the information storage method in the first aspect; according to the traceable information index , decode to obtain the hash index of each level; read the corresponding information from the multi-level hash table according to each level of hash index; obtain traceable information.
- embodiments of the present application provide an information storage device, including: an acquisition module configured to acquire traceable information, wherein the traceable information includes a process call level; a processing module, the The processing module is configured to build a multi-level hash table, wherein the bit division array is set according to the number of process call levels, and the number of buckets in each level of the hash table is set according to the corresponding number of process call levels; the processing module is also configured to The traceable information is stored in the multi-level hash table according to the process call level, wherein the same traceable information in each level hash table is only stored once; a feedback module, the feedback module is set to Returns the traceable information index.
- embodiments of the present application provide an electronic device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor.
- the processor executes the computer program, the first The information storage method in the second aspect, or implement the information reading method in the second aspect.
- embodiments of the present application provide a computer-readable storage medium.
- the computer-readable storage medium stores computer-executable instructions.
- the computer can execute the computer program, the information storage in the first aspect is implemented. square method, or the information reading method in the second aspect.
- Figure 1 is a system architecture diagram provided by an embodiment of the present application.
- Figure 2 is a flow chart of an information storage method provided by an embodiment of the present application.
- Figure 3 is a flow chart of the storage process of a multi-level hash table provided by an embodiment of the present application
- Figure 4 is a flow chart of an information reading method provided by an embodiment of the present application.
- Figure 5 is a flow chart of the query process of a multi-level hash table provided by an embodiment of the present application.
- Figure 6 is a schematic structural diagram of an information storage device provided by an embodiment of the present application.
- Figure 7 is a schematic structural diagram of an information reading device provided by an embodiment of the present application.
- FIG. 8 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
- words such as setting, installation, and connection should be understood in a broad sense. Those skilled in the art can reasonably determine the meaning of the above words in the embodiments of this application based on the content of the technical solution. .
- words such as “further”, “exemplarily” or “optionally” are used as examples, illustrations or illustrations, and should not be interpreted as being more preferable or better than other embodiments or designs. Advantages. The use of the words “further,” “exemplarily,” or “optionally” is intended to present relevant concepts.
- Embodiments of the present application can be applied to various embedded devices or communication devices, such as mobile phones, tablets, computers, laptops, wearable devices, vehicle-mounted devices, base stations, network element equipment, drones, etc.
- the embodiments of this application are not limiting.
- Traceability information in embedded systems refers to information describing the sequence of procedure calls, based on which the runtime process of the system can be traced back.
- the traceable information stored in embedded devices usually contains a large amount of duplicate content, which can cause a huge waste of device storage in application scenarios where device storage space is limited.
- traceable information needs to be accessed quickly in actual application scenarios.
- using the compression saving method can reduce the memory footprint of traceable information, it will introduce additional compression and decompression overhead.
- Embodiments of the present application provide an information storage and reading method, device and storage medium, aiming to reduce the cost of device storage space without introducing the overhead of compression and decompression algorithms, and meet the requirements of real-time performance.
- the list stores traceable information and merges the same traceable information to reduce memory usage; without introducing the overhead of compression algorithm, it reduces the storage space overhead of traceable information. The more the same traceable information, the less storage space it takes up. .
- this The application information storage and reading process does not require a compression algorithm for compression and decompression. It is stored and read directly based on the multi-level hash table. The time complexity is not affected by the algorithm, is deterministic, and can meet the requirements of real-time systems.
- Figure 1 is a system architecture diagram of an information storage method provided by an embodiment of the present application.
- the system architecture includes an acquisition module 100, a processing module 200 and a feedback module 300. It is understandable that the system architecture can be deployed as a whole in the data processing center of an embedded system or communication system, or as a whole deployed at a certain node of an embedded system or a certain communication network architecture. In a certain node of the system, each module can also be deployed in different nodes of an embedded system or communication system, and each module interacts with each other through communication connections.
- the acquisition module 100 may be configured to acquire traceable information, where the traceable information includes a process call level;
- the processing module 200 is configured to construct a multi-level hash table, in which the bit division array is set according to the procedure call level, and the number of buckets in each level of the hash table is set according to the corresponding procedure call level;
- the traceable information is stored in the multi-level hash table respectively according to the process call level, wherein the same traceable information in each level hash table is only stored once;
- the feedback module 300 is configured to return the traceable information index.
- the system architecture diagram of Figure 1 can also be used for the information reading method. It can be understood that the information reading method is the reverse process of the information storage method.
- the acquisition module 100 can also be used to obtain the traceable information index
- the processing module 200 can also be used to decode the hash index of each level according to the traceable information index obtained through the acquisition module 100, Corresponding information is read from the multi-level hash table according to each level of hash index
- the feedback module 300 can also be used to feed back the traceable information obtained through the processing module 200.
- the solution of this embodiment is based on the fact that there are a large number of identical and adjacent procedure call addresses in embedded application scenarios or communication scenarios.
- the same procedure call addresses are merged through a multi-level hash table to reduce the amount of traceable information without introducing a compression algorithm. Storage space occupied.
- high-performance query of traceable information is realized to meet the real-time requirements of embedded systems.
- FIG. 2 is a flow chart of an information storage method provided by an embodiment of the present application. As shown in Figure 2, this information processing method can be used for terminals or servers. In the embodiment of FIG. 2 , the information processing method may include but is not limited to step S1000, step S2000, step S3000 and step S4000.
- Step S1000 Obtain traceable information, where the traceable information includes the procedure call level.
- a traceable information In embedded systems or communication systems, in order to facilitate later system maintenance, alarm traceability, etc., information that can represent the flow of each node involved in a certain call of the system is generated, that is, traceable information.
- a traceable information generally consists of multiple levels. Call information composition.
- a piece of traceability information is a set of hierarchically related procedure call address arrays.
- the procedure call address array includes at least one procedure call address with a call hierarchy relationship; where the call hierarchy is the process call series.
- the procedure call address array has the highest level, that is, the most upstream in the call corresponds to the first level. As the calling process goes downstream, the number of procedure call levels increases in sequence.
- procedure call level and address The correspondence relationship is as follows: A procedure call address corresponds to the first level, B procedure call address corresponds to the second level, C procedure call address corresponds to the third level, D procedure call address corresponds to the fourth level, and E procedure call address corresponds to Level 5.
- Step S2000 Construct a multi-level hash table, in which the bit division array is set according to the procedure call level, and the number of buckets in each level hash table is set according to the corresponding procedure call level.
- Each level of the hash table in the multi-level hash table corresponds to the sequence of the procedure call series; in actual application scenarios, the closer the series are to The probability of repeating traceable information corresponding to the previous procedure call level, that is, the higher the procedure call address, the greater the probability that the same address is the same. There is no need for more hash table buckets. The later the procedure call level, the higher the probability of repeating the traceable information. The repetition probability of the traceable information corresponding to the number, that is, the lower the level of the process, the lower the probability of having the same call address, which requires a larger number of hash table buckets; therefore, the number of buckets of each level of hash table is based on its corresponding process. Set the calling level. The lower the corresponding procedure calling level is in the hash table, the more buckets are set. It is conceivable that the multi-level hash table can be pre-built based on expert experience and traceable information analysis of actual application scenarios.
- Step S3000 Store the traceable information into multi-level hash tables according to the process call levels, where the same traceable information in each level hash table is only stored once.
- Part of the traceable information corresponding to each level of procedure call series is stored in a hash table corresponding to the series and the process call series of this level.
- the hash table will only put the traceable information stored for the first time.
- the same traceable information is stored in the subsequent hash tables, only the return of the hash table will be triggered.
- Hash index without actually storing the same traceable information into the hash table.
- step S3000 may also include but is not limited to the following steps:
- the number of bits of the hash index is preset according to the corresponding procedure call level when constructing the multi-level hash table. Since the information with the earlier procedure call level in the traceable information has a greater repetition rate, the corresponding The hash table with a higher level needs to store less content, the lower the number of buckets it needs, and the lower the complexity of storing the content. Therefore, the corresponding procedure calls the bits of the hash index returned by the hash table with a higher level.
- the number of bits at each level is smaller; the number of bits at each level can be configured according to the needs of the hash table of the corresponding level and the traceability information of the corresponding level.
- the hash index already exists in the hash table of the corresponding level; if it exists, , increase the count corresponding to the hash index, and return the corresponding hash index; if it does not exist, save the corresponding procedure call address to the hash table of the corresponding series according to the hash index and return the corresponding hash index.
- the procedure call addresses of each level of traceable information are stored in the hash table of the corresponding level according to the process call level. Among them, the same process call addresses are merged, that is, only the first one of the same process call addresses is merged.
- the procedure call address saved once is stored in the hash table of the corresponding series. The same procedure call address is not repeatedly stored in the hash table to occupy the number of buckets and memory, and the count of the hash index corresponding to the procedure call address is increased.
- Step S4000 Return the traceable information index.
- each level of hash table will return a corresponding hash index.
- the hash index of each level returned by the multi-level hash table is stored. Obtain the traceable information index corresponding to the traceable information.
- the hash index returned by each level of hash table corresponding to the traceable information can be merged into the traceable information index of the traceable information through coding.
- x i is the number of bits of the hash table index corresponding to the i-th procedure call level, and each operator in the formula is a C language operator.
- the traceable information of a four-level call is divided into four levels through the process call series.
- Figure 3 is a flow chart of a multi-level hash table storage process provided by an embodiment of the present application. The following is an overall description of the information storage method according to the embodiment of the present application with reference to FIG. 3 .
- Step 1 Construct a traceable information storage data structure.
- the traceable information is a set of procedure call address arrays with hierarchical relationships, and the process call level n is determined.
- n is 7, and the number of process call levels is 1. Seven levels to 7.
- Determine the bit division array X n ⁇ x 1 , x 2 ,..., x n ⁇ .
- x n describes the number of bits in the hash table index corresponding to the n-th level procedure call address, and 2 x n corresponds to the number of buckets in the n-th level hash table.
- the number of buckets in the hash table Through the above settings, the number of buckets in the hash table corresponding to the process call address at each level can be flexibly set based on the actual application scenario.
- Step 2 Storage of traceable information.
- the second step is mainly to obtain the encoded traceable information index ks, as shown in Figure 3.
- Figure 4 is a flow chart of an information reading method provided by an embodiment of the present application. As shown in Figure 4, this information processing method can be used for terminals or servers. In the embodiment of FIG. 4 , the information processing method may include but is not limited to step S5000, step S6000, step S7000 and step S8000.
- Step S5000 Obtain a traceable information index, where the traceable information index is obtained according to the information storage method provided in any embodiment.
- Step S6000 According to the traceable information index, decode to obtain the hash index of each level.
- Step S7000 Read corresponding information from the multi-level hash table according to each level of hash index.
- Step S8000 Obtain traceable information.
- the information reading method of the present application is the reverse process of the information storage method provided in any of the above embodiments.
- After obtaining the traceable information index through the information storage method provided in any of the above embodiments when it is necessary to extract the traceable information that has been stored in the multi-level hash table, obtain the traceable information index corresponding to the traceable information;
- the backtracking information index is decoded, and the decoding method corresponds to the encoding method in the information storage method to obtain the hash index corresponding to each level of procedure call level; according to each level of hash index, each level from the multi-level hash table Reading the corresponding series in the hash table can be traced back information, and finally summarize the part of the traceable information corresponding to all levels to obtain the traceable information corresponding to the traceable information index.
- the previously stored traceable information is a set of hierarchical procedure call address arrays.
- Step S7000 may include but is not limited to: according to each level of hash index, from the multi-level hash table Read the corresponding procedure call address;
- step S8000 may include but is not limited to: obtaining an array of procedure call addresses based on the procedure call address of each level. After decoding the hash index of each level according to the corresponding traceable information index, the corresponding procedure call address of each level is read from each level of the multi-level hash table, and the obtained procedure call address is divided into levels. Number, that is, after sorting the call hierarchical relationship, the corresponding process call address array with hierarchical relationship is obtained, that is, the corresponding traceable information.
- lidx j+1 is the hash index corresponding to the j+1th level procedure call level
- FIG. 5 is a flow chart of a multi-level hash table query process provided by an embodiment of the present application. The following is an overall description of the information reading method according to the embodiment of the present application with reference to FIG. 5 .
- traceable information query process of the multi-level hash table is the reverse process of the storage process of the multi-level hash table.
- n is the procedure call level of the traceable information corresponding to the traceable information index ks.
- lidx j+1 ks&(1 ⁇ x nj -1)
- decode and calculate ks to obtain the hash index lidx j+1 corresponding to the j+1th level.
- Figure 6 is a schematic structural diagram of an information storage device provided by an embodiment of the present application.
- the information storage device provided by the embodiment of the present application can execute the information storage method provided by the embodiment of the present application, and has the corresponding functional modules and technical effects of the execution method.
- the device can be implemented through software, hardware, or a combination of software and hardware, and includes: a first acquisition module 400, a first processing module 500, and a first feedback module 600.
- the first acquisition module 400 is configured to acquire traceable information, where the traceable information includes a process call level.
- the first processing module 500 is configured to at least one of the following: construct a multi-level hash table, wherein the bit division array is set according to the procedure call level, and the number of buckets in each level of the hash table is set according to the corresponding procedure call level;
- the traceable information is stored in the multi-level hash table respectively according to the process call level, wherein the same traceable information in each level hash table is only stored once.
- the first feedback module 600 is configured to return a traceable information index.
- Figure 7 is a schematic structural diagram of an information reading device provided by an embodiment of the present application.
- the information reading device provided by the embodiment of the present application can execute the information reading method provided by the embodiment of the present application, and has the corresponding functional modules and technical effects of the execution method.
- the device can be implemented by software, hardware, or a combination of software and hardware, and includes: a second acquisition module 700, a second processing module 800, and a second feedback module 900.
- the second acquisition module 700 is configured to acquire a traceable information index, where the traceable information index is obtained according to the information storage method provided by any embodiment of the present application.
- the second processing module 800 is configured to be at least one of the following: decode to obtain the hash index of each level according to the traceable information index; read corresponding information from the multi-level hash table according to the hash index of each level.
- the second feedback module 900 is configured to feed back the obtained traceable information to the user.
- FIG. 8 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
- the device includes a memory 1100, a processor 1200, and a communication device 1300.
- the number of memories 1100 and processors 1200 can be one or more.
- one memory 1100 and one processor 1200 are taken as an example.
- the memory 1100 and processor 1200 in the device can be connected through a bus or other means.
- Figure 8 Take the example of connecting via a bus.
- the memory 1100 can be used to store software programs, computer-executable programs and modules, such as program instructions/modules corresponding to the information storage method and/or the information reading method provided in any embodiment of the present application.
- the processor 1200 implements the above information storage method and/or information reading method by running software programs, instructions and modules stored in the memory 1110 .
- the memory 1100 may mainly include a program storage area and a data storage area, where the program storage area may store an operating system and at least one application program required for a function.
- the memory 1100 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid-state storage device.
- memory 1100 may include memory located remotely from processor 1200, and these remote memories may be connected to the device through a network. Examples of the above-mentioned networks include but are not limited to the Internet, intranets, local area networks, mobile communication networks and combinations thereof.
- the communication device 1300 is configured to perform information transceiver communication according to the control of the processor 1200 .
- the communication device 1300 includes a receiver 1310 and a transmitter 1320.
- the receiver 1310 is a module or device combination in an electronic device that receives data.
- the transmitter 1320 is a module or device combination in an electronic device that transmits data.
- An embodiment of the present application also provides a computer-readable storage medium that stores computer-executable instructions.
- the computer-executable instructions are used to execute the information storage method and/or the information reading method provided by any embodiment of the present application. .
- the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may consist of several physical components. Components execute cooperatively. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit . Such software may be distributed on computer-readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media).
- computer storage media includes volatile and nonvolatile media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. removable, removable and non-removable media.
- Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disk (DVD) or other optical disk storage, magnetic cassettes, tapes, disk storage or other magnetic storage devices, or may Any other medium used to store the desired information and that can be accessed by a computer.
- communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media .
- a component may be, but is not limited to, a process, processor, object, executable file, thread of execution, program or computer running on a processor.
- applications running on the computing device and the computing device may be components.
- One or more components can reside in a process or thread of execution, and the component can be localized on one computer or distributed between 2 or more computers. Additionally, these components can execute from various computer-readable media having various data structures stored thereon.
- a component may, for example, be based on a signal having one or more data packets (eg, data from two components interacting with another component, such as a local system, a distributed system, or a network, such as the Internet, which interacts with other systems via signals) Communicate through local or remote processes.
- data packets eg, data from two components interacting with another component, such as a local system, a distributed system, or a network, such as the Internet, which interacts with other systems via signals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
Description
相关申请的交叉引用Cross-references to related applications
本申请基于申请号为202210741922.2、申请日为2022年06月28日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。This application is filed based on a Chinese patent application with application number 202210741922.2 and a filing date of June 28, 2022, and claims the priority of the Chinese patent application. The entire content of the Chinese patent application is hereby incorporated into this application as a reference.
本申请涉及信息处理技术领域,尤其是一种信息存储、读取方法、设备及存储介质。This application relates to the field of information processing technology, especially an information storage and reading method, device and storage medium.
随着通信科技的发展,嵌入式系统的复杂性不断增加。为了准确的定位系统问题,保证产品质量,需在系统运行时增加可回溯信息的记录。在嵌入式系统中,可回溯信息是指描述过程调用序列的信息,根据该信息可回溯系统的运行的过程。With the development of communication technology, the complexity of embedded systems continues to increase. In order to accurately locate system problems and ensure product quality, it is necessary to add records of traceable information when the system is running. In embedded systems, traceability information refers to information that describes the sequence of procedure calls. Based on this information, the running process of the system can be traced back.
相关技术中,可回溯信息的存储存在大量重复的内容,这会占用嵌入式设备较多的存储空间。不仅对设备的存储空间具有较高的要求,且会对设备的存储空间造成浪费。也有相关技术使用压缩保存方法以降低可回溯信息占用的内存,但该方式引入额外的压缩和解压缩开销。如何在减少引入开销的基础上,降低对设备存储空间的使用,是亟待解决的问题。In related technologies, there is a large amount of duplicate content in the storage of traceable information, which takes up a lot of storage space in embedded devices. Not only does it have high requirements on the storage space of the device, but it also wastes the storage space of the device. There are also related technologies that use compression saving methods to reduce the memory occupied by traceable information, but this method introduces additional compression and decompression overhead. How to reduce the use of device storage space on the basis of reducing the introduction overhead is an issue that needs to be solved urgently.
发明内容Contents of the invention
本申请实施例提供一种信息存储、读取方法、设备及存储介质。Embodiments of the present application provide an information storage and reading method, device and storage medium.
第一方面,本申请实施例提供一种信息存储方法,包括:获取可回溯信息,其中,所述可回溯信息包括过程调用级数;构建多级散列表,其中,比特位划分数组根据所述过程调用级数设置,每级散列表的桶数根据对应的过程调用级数设置;将所述可回溯信息按照所述过程调用级数分别存入所述多级散列表中,其中,每级散列表中相同的可回溯信息仅存储一次;返回可回溯信息索引。In a first aspect, embodiments of the present application provide an information storage method, including: obtaining traceable information, wherein the traceable information includes a process call series; constructing a multi-level hash table, wherein the bit-divided array is divided according to the The process call level is set, and the number of buckets in each level of the hash table is set according to the corresponding process call level; the traceable information is stored in the multi-level hash table according to the process call level, where each level The same traceable information in the hash table is stored only once; the traceable information index is returned.
第二方面,本申请实施例提供一种信息读取方法,包括:获取可回溯信息索引,其中所述可回溯信息索引根据如第一方面中的信息存储方法得到;根据所述可回溯信息索引,解码得到每一级的散列索引;根据每一级散列索引从多级散列表中读取对应信息;得到可回溯信息。In a second aspect, embodiments of the present application provide an information reading method, including: obtaining a traceable information index, wherein the traceable information index is obtained according to the information storage method in the first aspect; according to the traceable information index , decode to obtain the hash index of each level; read the corresponding information from the multi-level hash table according to each level of hash index; obtain traceable information.
第三方面,本申请实施例提供一种信息存储设备,包括:获取模块,所述获取模块被设置为获取可回溯信息,其中,所述可回溯信息包括过程调用级数;处理模块,所述处理模块被设置为构建多级散列表,其中,比特位划分数组根据所述过程调用级数设置,每级散列表的桶数根据对应的过程调用级数设置;所述处理模块还被设置为将所述可回溯信息按照所述过程调用级数分别存入所述多级散列表中,其中,每级散列表中相同的可回溯信息仅存储一次;反馈模块,所述反馈模块被设置为返回可回溯信息索引。In a third aspect, embodiments of the present application provide an information storage device, including: an acquisition module configured to acquire traceable information, wherein the traceable information includes a process call level; a processing module, the The processing module is configured to build a multi-level hash table, wherein the bit division array is set according to the number of process call levels, and the number of buckets in each level of the hash table is set according to the corresponding number of process call levels; the processing module is also configured to The traceable information is stored in the multi-level hash table according to the process call level, wherein the same traceable information in each level hash table is only stored once; a feedback module, the feedback module is set to Returns the traceable information index.
第四方面,本申请实施例提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面中的信息存储方法,或实现如第二方面中的信息读取方法。In a fourth aspect, embodiments of the present application provide an electronic device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the first The information storage method in the second aspect, or implement the information reading method in the second aspect.
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行所述计算机程序时实现如第一方面中的信息存储方 法,或如第二方面中的信息读取方法。In a fifth aspect, embodiments of the present application provide a computer-readable storage medium. The computer-readable storage medium stores computer-executable instructions. When the computer can execute the computer program, the information storage in the first aspect is implemented. square method, or the information reading method in the second aspect.
图1为本申请一实施例提供的一种系统架构图;Figure 1 is a system architecture diagram provided by an embodiment of the present application;
图2为本申请一实施例提供的信息存储方法的流程图;Figure 2 is a flow chart of an information storage method provided by an embodiment of the present application;
图3为本申请一实施例提供的多级散列表的存储过程的流程图;Figure 3 is a flow chart of the storage process of a multi-level hash table provided by an embodiment of the present application;
图4为本申请一实施例提供的信息读取方法的流程图;Figure 4 is a flow chart of an information reading method provided by an embodiment of the present application;
图5为本申请一实施例提供的多级散列表的查询过程的流程图;Figure 5 is a flow chart of the query process of a multi-level hash table provided by an embodiment of the present application;
图6为本申请一实施例提供的一种信息存储设备的结构示意图;Figure 6 is a schematic structural diagram of an information storage device provided by an embodiment of the present application;
图7为本申请一实施例提供的一种信息读取设备的结构示意图;Figure 7 is a schematic structural diagram of an information reading device provided by an embodiment of the present application;
图8为本申请一实施例提供的一种电子设备结构示意图。FIG. 8 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
为了使本申请的目的、技术方法及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的实施例仅用以解释本申请,并不用于限定本申请。In order to make the purpose, technical methods and advantages of the present application clearer, the present application will be further described in detail below with reference to the drawings and embodiments. It should be understood that the embodiments described here are only used to explain the present application and are not used to limit the present application.
需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。It should be noted that although a logical sequence is shown in the flowchart, in some cases, the steps shown or described may be performed in an order different from that in the flowchart. The terms "first", "second", etc. in the description, claims, and above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific sequence or sequence.
本申请实施例的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的内容合理确定上述词语在本申请实施例中的含义。本申请实施例中,“进一步地”、“示例性地”或者“可选地”等词用于表示作为例子、例证或说明,不应被解释为比其它实施例或设计方案更优选或更具有优势。使用“进一步地”、“示例性地”或者“可选地”等词旨在呈现相关概念。In the description of the embodiments of this application, unless otherwise explicitly limited, words such as setting, installation, and connection should be understood in a broad sense. Those skilled in the art can reasonably determine the meaning of the above words in the embodiments of this application based on the content of the technical solution. . In the embodiments of this application, words such as "further", "exemplarily" or "optionally" are used as examples, illustrations or illustrations, and should not be interpreted as being more preferable or better than other embodiments or designs. Advantages. The use of the words "further," "exemplarily," or "optionally" is intended to present relevant concepts.
本申请实施例可以应用于各种嵌入式设备或通信设备,例如:手机、平板电脑、计算机、笔记本电脑、可穿戴设备、车载设备、基站、网元设备、无人机等。本申请实施例并不限定。Embodiments of the present application can be applied to various embedded devices or communication devices, such as mobile phones, tablets, computers, laptops, wearable devices, vehicle-mounted devices, base stations, network element equipment, drones, etc. The embodiments of this application are not limiting.
随着科技的发展,嵌入式系统的复杂性不断增加,为了能准确的定位系统问题,保证产品质量,必须要在系统运行时增加可回溯信息的记录。同时,通信领域对于系统的实时性有着极高的要求。然而,嵌入式设备的内存受限,如何在保证可回溯信息得到记录的同时,既能满足嵌入式设备低内存开销的要求,又能确保系统的实时性,就成为了提升产品竞争力不可忽视的关键,且符合通信与实时系统领域的技术发展。With the development of science and technology, the complexity of embedded systems continues to increase. In order to accurately locate system problems and ensure product quality, it is necessary to add records of traceable information when the system is running. At the same time, the communication field has extremely high requirements for the real-time performance of the system. However, the memory of embedded devices is limited. How to ensure that traceable information is recorded while meeting the low memory overhead requirements of embedded devices and ensuring the real-time nature of the system has become an issue that cannot be ignored to enhance product competitiveness. is the key and is in line with the technological development in the fields of communication and real-time systems.
嵌入式系统中的可回溯信息是指描述过程调用序列的信息,根据该信息可回溯系统的运行时过程。嵌入式设备存储的可回溯信息通常存在大量重复的内容,在设备存储空间受限的应用场景下,会对设备存储造成极大的浪费。另外,可回溯信息在实际的应用场景中需要快速的访问,而使用压缩保存方法虽然能降低可回溯信息的内存占用,但是它会引入额外的压缩和解压缩开销。Traceability information in embedded systems refers to information describing the sequence of procedure calls, based on which the runtime process of the system can be traced back. The traceable information stored in embedded devices usually contains a large amount of duplicate content, which can cause a huge waste of device storage in application scenarios where device storage space is limited. In addition, traceable information needs to be accessed quickly in actual application scenarios. Although using the compression saving method can reduce the memory footprint of traceable information, it will introduce additional compression and decompression overhead.
本申请实施例提供了一种信息存储、读取方法、设备及存储介质,旨在不引入压缩、解压算法开销的前提下,减少设备存储空间的开销,满足实时性的要求,通过多级散列表存储可回溯信息,合并相同的可回溯信息来减少内存占用;在于不引入压缩算法开销的前提下,减少了可回溯信息的存储空间开销,相同的可回溯信息越多其存储空间占用越少。同时,本 申请信息存储和读取过程无需压缩算法进行压缩解压,直接根据多级散列表进行存储和读取,时间复杂度不受算法影响,是确定的,能够满足实时系统的要求。Embodiments of the present application provide an information storage and reading method, device and storage medium, aiming to reduce the cost of device storage space without introducing the overhead of compression and decompression algorithms, and meet the requirements of real-time performance. The list stores traceable information and merges the same traceable information to reduce memory usage; without introducing the overhead of compression algorithm, it reduces the storage space overhead of traceable information. The more the same traceable information, the less storage space it takes up. . At the same time, this The application information storage and reading process does not require a compression algorithm for compression and decompression. It is stored and read directly based on the multi-level hash table. The time complexity is not affected by the algorithm, is deterministic, and can meet the requirements of real-time systems.
下面结合附图,对本申请实施例作进一步阐述。The embodiments of the present application will be further described below with reference to the accompanying drawings.
图1是本申请一实施例提供的信息存储方法的系统架构图。如图1所示,该系统架构包括获取模块100、处理模块200和反馈模块300。可以理解的是,该系统架构即可以作为一个整体部署在某个嵌入式系统或者通信系统的数据处理中心,也可以作为一个整体部署在某个嵌入式系统的某个节点或者某个通信网络架构的某一节点中,还可以将各模块分别部署在某个嵌入式系统或通信系统的不同节点中,各模块之间通过通信连接进行交互。Figure 1 is a system architecture diagram of an information storage method provided by an embodiment of the present application. As shown in Figure 1, the system architecture includes an acquisition module 100, a processing module 200 and a feedback module 300. It is understandable that the system architecture can be deployed as a whole in the data processing center of an embedded system or communication system, or as a whole deployed at a certain node of an embedded system or a certain communication network architecture. In a certain node of the system, each module can also be deployed in different nodes of an embedded system or communication system, and each module interacts with each other through communication connections.
获取模块100,可被设置为获取可回溯信息,其中,所述可回溯信息包括过程调用级数;The acquisition module 100 may be configured to acquire traceable information, where the traceable information includes a process call level;
处理模块200,被设置为构建多级散列表,其中,比特位划分数组根据所述过程调用级数设置,每级散列表的桶数根据对应的过程调用级数设置;还被设置为将所述可回溯信息按照所述过程调用级数分别存入所述多级散列表中,其中,每级散列表中相同的可回溯信息仅存储一次;The processing module 200 is configured to construct a multi-level hash table, in which the bit division array is set according to the procedure call level, and the number of buckets in each level of the hash table is set according to the corresponding procedure call level; The traceable information is stored in the multi-level hash table respectively according to the process call level, wherein the same traceable information in each level hash table is only stored once;
反馈模块300,被设置为返回可回溯信息索引。The feedback module 300 is configured to return the traceable information index.
在一些实施方式中,图1的系统架构图还可以用于信息读取方法,可以理解的是,信息读取方法即信息存储方法的逆过程。如图1所示,获取模块100,还可以用于获取可回溯信息索引;处理模块200,还可以用于根据通过获取模块100得到的可回溯信息索引,解码得到每一级的散列索引,根据每一级散列索引从多级散列表中读取对应信息;反馈模块300,还可以用于反馈通过处理模块200得到的可回溯信息。In some embodiments, the system architecture diagram of Figure 1 can also be used for the information reading method. It can be understood that the information reading method is the reverse process of the information storage method. As shown in Figure 1, the acquisition module 100 can also be used to obtain the traceable information index; the processing module 200 can also be used to decode the hash index of each level according to the traceable information index obtained through the acquisition module 100, Corresponding information is read from the multi-level hash table according to each level of hash index; the feedback module 300 can also be used to feed back the traceable information obtained through the processing module 200.
本实施例方案基于嵌入式应用场景或通信场景中存在大量相同且临近的过程调用地址的事实,通过多级散列表合并相同的过程调用地址,在不引入压缩算法的前提下减少可回溯信息的存储空间占用。同时实现了可回溯信息的高性能查询,满足嵌入式系统的实时性要求。The solution of this embodiment is based on the fact that there are a large number of identical and adjacent procedure call addresses in embedded application scenarios or communication scenarios. The same procedure call addresses are merged through a multi-level hash table to reduce the amount of traceable information without introducing a compression algorithm. Storage space occupied. At the same time, high-performance query of traceable information is realized to meet the real-time requirements of embedded systems.
图2是本申请一实施例提供的信息存储方法的流程图。如图2所示,该信息处理方法可用于终端也可以用于服务器。在图2的实施例中,该信息处理方法可以包括但不限于步骤S1000、步骤S2000、步骤S3000以及步骤S4000。Figure 2 is a flow chart of an information storage method provided by an embodiment of the present application. As shown in Figure 2, this information processing method can be used for terminals or servers. In the embodiment of FIG. 2 , the information processing method may include but is not limited to step S1000, step S2000, step S3000 and step S4000.
步骤S1000:获取可回溯信息,其中,可回溯信息包括过程调用级数。Step S1000: Obtain traceable information, where the traceable information includes the procedure call level.
在嵌入式系统或通信系统中,为了方便后期系统维护,告警溯源等,会生成能够表征系统在某一次调用中涉及的各节点流向的信息,即可回溯信息,一个可回溯信息一般由多级调用信息组成。In embedded systems or communication systems, in order to facilitate later system maintenance, alarm traceability, etc., information that can represent the flow of each node involved in a certain call of the system is generated, that is, traceable information. A traceable information generally consists of multiple levels. Call information composition.
在一些实施方式中,一个可回溯信息即是一组有层次关系的过程调用地址数组。其中,过程调用地址数组包括含调用层次关系的至少一个过程调用地址;其中,调用层次既是过程调用级数。在一些实施方式中,过程调用地址数组层次最高的,即该次调用中最上游对应为第一级,随着调用过程越往下游,过程调用级数依次增加。In some implementations, a piece of traceability information is a set of hierarchically related procedure call address arrays. The procedure call address array includes at least one procedure call address with a call hierarchy relationship; where the call hierarchy is the process call series. In some embodiments, the procedure call address array has the highest level, that is, the most upstream in the call corresponds to the first level. As the calling process goes downstream, the number of procedure call levels increases in sequence.
在一些实施方式中,假设一个可回溯信息为{A,B,C,D,E}的过程调用地址数组,其调用过程为A→B→C→D→E,则过程调用级数与地址对应关系如下,A过程调用地址对应为第一级,B过程调用地址对应为第二级,C过程调用地址对应为第三级,D过程调用地址对应为第四级,E过程调用地址对应为第五级。In some embodiments, assuming a procedure call address array whose traceability information is {A, B, C, D, E}, and its calling process is A→B→C→D→E, then the procedure call level and address The correspondence relationship is as follows: A procedure call address corresponds to the first level, B procedure call address corresponds to the second level, C procedure call address corresponds to the third level, D procedure call address corresponds to the fourth level, and E procedure call address corresponds to Level 5.
步骤S2000:构建多级散列表,其中,比特位划分数组根据过程调用级数设置,每级散列表的桶数根据对应的过程调用级数设置。Step S2000: Construct a multi-level hash table, in which the bit division array is set according to the procedure call level, and the number of buckets in each level hash table is set according to the corresponding procedure call level.
多级散列表中每一级散列表与过程调用级数顺序对应;在实际的应用场景中,级数越靠 前的过程调用级数对应的可回溯信息重复的概率,即级数越靠前的过程调用地址相同的概率越大,不需要较多的散列表桶数,级数越靠后的过程调用级数对应的可回溯信息的重复概率,即级数越靠后的过程调用地址相同的概率越低,需要较多的散列表桶数;因此,每一级散列表的桶数根据其对应的过程调用级数进行设置,对应的过程调用级数越靠后的散列表,设置的桶数越多。可以想到地是,多级散列表可以是根据专家经验,根据实际应用场景的可回溯信息分析预先构建。Each level of the hash table in the multi-level hash table corresponds to the sequence of the procedure call series; in actual application scenarios, the closer the series are to The probability of repeating traceable information corresponding to the previous procedure call level, that is, the higher the procedure call address, the greater the probability that the same address is the same. There is no need for more hash table buckets. The later the procedure call level, the higher the probability of repeating the traceable information. The repetition probability of the traceable information corresponding to the number, that is, the lower the level of the process, the lower the probability of having the same call address, which requires a larger number of hash table buckets; therefore, the number of buckets of each level of hash table is based on its corresponding process. Set the calling level. The lower the corresponding procedure calling level is in the hash table, the more buckets are set. It is conceivable that the multi-level hash table can be pre-built based on expert experience and traceable information analysis of actual application scenarios.
步骤S3000:将可回溯信息按照过程调用级数分别存入多级散列表中,其中,每级散列表中相同的可回溯信息仅存储一次。Step S3000: Store the traceable information into multi-level hash tables according to the process call levels, where the same traceable information in each level hash table is only stored once.
将每一级过程调用级数对应的部分可回溯信息存入级数与该级过程调用级数对应的散列表中。在每一级散列表中,多个相同的可回溯信息存入时,散列表只将第一次存入的可回溯信息放入,后续相同的可回溯信息存入时,只触发散列表返还散列索引,而不将相同的可回溯信息实际存入散列表中。Part of the traceable information corresponding to each level of procedure call series is stored in a hash table corresponding to the series and the process call series of this level. In each level of the hash table, when multiple identical traceable information are stored, the hash table will only put the traceable information stored for the first time. When the same traceable information is stored in the subsequent hash tables, only the return of the hash table will be triggered. Hash index without actually storing the same traceable information into the hash table.
在一些实施方式中,步骤S3000还可以包括但不限于以下步骤:In some implementations, step S3000 may also include but is not limited to the following steps:
对过程调用地址数组中的每一级过程调用地址进行散列运算,得到散列索引;Perform a hash operation on each level of procedure call address in the procedure call address array to obtain a hash index;
将每一级过程调用地址根据散列索引保存至对应级数的散列表中,返回对应的散列索引。Save the procedure call address of each level to the hash table of the corresponding level according to the hash index, and return the corresponding hash index.
其中,散列索引的比特位数在构建多级散列表时,根据对应的过程调用等级预先设置,由于可回溯信息中对应的过程调用级数越靠前的信息重复率越大,因此对应的级数越靠前的散列表需要存储的内容就越少,需要的桶数越低,存储内容复杂度越低,因此对应的过程调用级数越靠前的散列表返回的散列索引的比特位数越少;每一级的比特位数可以根据对应级数的散列表以及对应级数的可回溯信息的需求进行配置。Among them, the number of bits of the hash index is preset according to the corresponding procedure call level when constructing the multi-level hash table. Since the information with the earlier procedure call level in the traceable information has a greater repetition rate, the corresponding The hash table with a higher level needs to store less content, the lower the number of buckets it needs, and the lower the complexity of storing the content. Therefore, the corresponding procedure calls the bits of the hash index returned by the hash table with a higher level. The number of bits at each level is smaller; the number of bits at each level can be configured according to the needs of the hash table of the corresponding level and the traceability information of the corresponding level.
在一些实施方式中,在对过程调用地址数组中的每一级过程调用地址进行散列运算,得到散列索引后,查询散列索引是否已存在对应级数的散列表中;在存在的情况下,增加散列索引对应的计数,并返回对应的散列索引;在不存在的情况下,根据散列索引将对应的过程调用地址保存至对应级数的散列表中并返回对应的散列索引。In some embodiments, after performing a hash operation on each level of procedure call address in the procedure call address array and obtaining the hash index, it is queried whether the hash index already exists in the hash table of the corresponding level; if it exists, , increase the count corresponding to the hash index, and return the corresponding hash index; if it does not exist, save the corresponding procedure call address to the hash table of the corresponding series according to the hash index and return the corresponding hash index.
将可回溯信息的每一级过程调用地址,按照过程调用级数分别存入对应级数的散列表中,其中,对相同的过程调用地址进行合并,即只将相同的过程调用地址中第一次存入的过程调用地址存入对应级数的散列表中,后续相同的过程调用地址不重复存入散列表占用桶数和内存,增加该过程调用地址对应的散列索引的计数。The procedure call addresses of each level of traceable information are stored in the hash table of the corresponding level according to the process call level. Among them, the same process call addresses are merged, that is, only the first one of the same process call addresses is merged. The procedure call address saved once is stored in the hash table of the corresponding series. The same procedure call address is not repeatedly stored in the hash table to occupy the number of buckets and memory, and the count of the hash index corresponding to the procedure call address is increased.
步骤S4000:返回可回溯信息索引。Step S4000: Return the traceable information index.
将可回溯信息按照过程调用级数分别存入多级散列表后,每一级散列表均会返回一个对应的散列索引,根据可回溯信息存入多级散列表返回的各级散列索引得到该可回溯信息对应的可回溯信息索引。After the traceable information is stored in the multi-level hash table according to the process call level, each level of hash table will return a corresponding hash index. According to the traceable information, the hash index of each level returned by the multi-level hash table is stored. Obtain the traceable information index corresponding to the traceable information.
在一些实施方式中,可通过编码的方式,将可回溯信息对应的每一级散列表返回的散列索引合并成该可回溯信息的可回溯信息索引。In some implementations, the hash index returned by each level of hash table corresponding to the traceable information can be merged into the traceable information index of the traceable information through coding.
在一些实施方式中,设可回溯信息索引为ks,散列索引为lidx,可回溯信息索引可通过以下公式得出:
ks=(ks<<xi)|lidxIn some implementations, assuming that the traceable information index is ks and the hash index is lidx, the traceable information index can be obtained by the following formula:
ks=(ks<<x i )|lidx
其中,xi为第i级过程调用等级对应的散列表索引的比特位个数,其中公式中各运算符为c语言运算符。 Among them, x i is the number of bits of the hash table index corresponding to the i-th procedure call level, and each operator in the formula is a C language operator.
以一个四层调用的可回溯信息为例,可回溯信息进行过程调用级数分化出四级,将第一级过程调用等级对应的过程调用地址进行散列运算并存入第一级的散列表,得到第一级的散列表返回的lidx,执行ks=(ks<<x1)|lidx;重复上述操作,直至每一级过程调用等级对应的过程调用地址都完成散列运算,最后得到该四层调用的可回溯信息的可回溯信息索引。Taking the traceable information of a four-level call as an example, the traceable information is divided into four levels through the process call series. The process call address corresponding to the first-level process call level is hashed and stored in the first-level hash table. , get the lidx returned by the first-level hash table, execute ks=(ks<<x 1 )|lidx; repeat the above operation until the procedure call address corresponding to each level of procedure call level has completed the hash operation, and finally get the Traceable information index for traceable information for layer four calls.
图3是本申请一实施例提供的多级散列表的存储过程的流程图。下面结合图3,对本申请实施例的信息存储方法做一个整体说明。Figure 3 is a flow chart of a multi-level hash table storage process provided by an embodiment of the present application. The following is an overall description of the information storage method according to the embodiment of the present application with reference to FIG. 3 .
步骤一、构建可回溯信息存储数据结构。Step 1. Construct a traceable information storage data structure.
可回溯信息是一组有层次关系的过程调用地址数组,确定过程调用级数n,如可回溯信息是一组7层调用关系的过程调用地址数组时,n取7,过程调用级数共有1至7七个级数。确定比特位划分数组Xn={x1,x2,......,xn}。xn描述了第n级过程调用地址对应的散列表索引的比特位个数,而2xn对应第n级散列表的桶数。在实际的应用场景中,级数越靠前的过程调用地址相同的概率越大,不需要较多的散列表桶数,级数越靠后的过程调用地址相同概率越低,需要较多的散列表桶数。通过上述设置,能够基于实际的应用场景灵活设置各级过程调用地址对应的散列表的桶数。The traceable information is a set of procedure call address arrays with hierarchical relationships, and the process call level n is determined. For example, when the traceable information is a set of procedure call address arrays with seven levels of call relationships, n is 7, and the number of process call levels is 1. Seven levels to 7. Determine the bit division array X n ={x 1 , x 2 ,..., x n }. x n describes the number of bits in the hash table index corresponding to the n-th level procedure call address, and 2 x n corresponds to the number of buckets in the n-th level hash table. In actual application scenarios, the higher the probability of the process call addresses being the same, the higher the probability of having the same hash table buckets, and the lower the probability of having the same process call addresses, which requires more hash table buckets. The number of buckets in the hash table. Through the above settings, the number of buckets in the hash table corresponding to the process call address at each level can be flexibly set based on the actual application scenario.
步骤二、可回溯信息的存储。Step 2: Storage of traceable information.
步骤二主要是为了得到编码后的可回溯信息索引ks,如图3所示。The second step is mainly to obtain the encoded traceable information index ks, as shown in Figure 3.
1)输入过程调用地址数组Cn={c1,c2,......,cn},即可回溯信息,cn表示该可回溯信息的第n级的过程调用地址;1) Enter the procedure call address array C n = {c 1 , c 2 ,..., c n } to trace back the information, and c n represents the nth level procedure call address of the traceable information;
2)对第i级过程调用地址ci,进行散列运算,查询散列索引是否存在于第i级散列表hi中,如果不存在,将散列索引对应的过程调用地址保存至该级散列表中;如果存在,增加该散列索引对应的计数。其中,i=1,2,……,n。2) Perform a hash operation on the i-th level process call address c i , and query whether the hash index exists in the i-th level hash table h i . If it does not exist, save the process call address corresponding to the hash index to this level. in the hash table; if present, increment the count corresponding to the hash index. Among them, i=1,2,...,n.
3)上述2)中两个路径均会得到一个第i级对应的散列索引lidx,令ks=(ks<<xi)|lidx,对第i级过程调用地址对应的散列索引进行编码。3) Both paths in 2) above will get a hash index lidx corresponding to the i-th level, let ks=(ks<<x i )|lidx, and encode the hash index corresponding to the i-th level procedure call address. .
4)令i=i+1,返回步骤2),即进行下一级过程调用地址ci+1的存储。4) Let i=i+1, return to step 2), that is, store the next-level procedure call address c i+1 .
5)循环执行2)至4),直至对每一级过程调用地址完成散列运算,完成存储过程,即i>n,最后将可回溯信息索引ks返回给用户。5) Execute 2) to 4) in a loop until the hash operation of each level of procedure call address is completed, the stored procedure is completed, that is, i>n, and finally the traceable information index ks is returned to the user.
图4是本申请一实施例提供的信息读取方法的流程图。如图4所示,该信息处理方法可用于终端也可以用于服务器。在图4的实施例中,该信息处理方法可以包括但不限于步骤S5000、步骤S6000、步骤S7000以及步骤S8000。Figure 4 is a flow chart of an information reading method provided by an embodiment of the present application. As shown in Figure 4, this information processing method can be used for terminals or servers. In the embodiment of FIG. 4 , the information processing method may include but is not limited to step S5000, step S6000, step S7000 and step S8000.
步骤S5000:获取可回溯信息索引,其中可回溯信息索引根据如任一实施例提供的信息存储方法得到。Step S5000: Obtain a traceable information index, where the traceable information index is obtained according to the information storage method provided in any embodiment.
步骤S6000:根据可回溯信息索引,解码得到每一级的散列索引。Step S6000: According to the traceable information index, decode to obtain the hash index of each level.
步骤S7000:根据每一级散列索引从多级散列表中读取对应信息。Step S7000: Read corresponding information from the multi-level hash table according to each level of hash index.
步骤S8000:得到可回溯信息。Step S8000: Obtain traceable information.
可以理解地,本申请的信息读取方法为上述任一实施例提供的信息存储方法的逆过程。在通过上述任一实施例提供的信息存储方法得到可回溯信息索引后,在需要提取已存入多级散列表的可回溯信息时,获取该可回溯信息对应的可回溯信息索引;对该可回溯信息索引进行解码,解码方式与信息存储方法中的编码方式相对应,得到每一级过程调用级数对应的散列索引;根据每一级散列索引,从多级散列表中每一级散列表中读取对应级数的部分可回溯 信息,最后将全部各级对应的部分可回溯信息汇总,得到该可回溯信息索引对应的可回溯信息。It can be understood that the information reading method of the present application is the reverse process of the information storage method provided in any of the above embodiments. After obtaining the traceable information index through the information storage method provided in any of the above embodiments, when it is necessary to extract the traceable information that has been stored in the multi-level hash table, obtain the traceable information index corresponding to the traceable information; The backtracking information index is decoded, and the decoding method corresponds to the encoding method in the information storage method to obtain the hash index corresponding to each level of procedure call level; according to each level of hash index, each level from the multi-level hash table Reading the corresponding series in the hash table can be traced back information, and finally summarize the part of the traceable information corresponding to all levels to obtain the traceable information corresponding to the traceable information index.
在一些可行的实施方式中,在先存入的可回溯信息为一组有层次关系的过程调用地址数组,步骤S7000可以包括但不限于:根据每一级散列索引,从多级散列表中读取对应的过程调用地址;步骤S8000可以包括但不限于:根据每一级过程调用地址,得到过程调用地址数组。根据对应的可回溯信息索引解码得到每一级的散列索引后,从多级散列表的每一级散列表中分别读取对应的每一级过程调用地址,将得到的过程调用地址按照级数,即调用层次关系进行排序后,得到对应的具有层次关系的过程调用地址数组,即对应的可回溯信息。In some feasible implementations, the previously stored traceable information is a set of hierarchical procedure call address arrays. Step S7000 may include but is not limited to: according to each level of hash index, from the multi-level hash table Read the corresponding procedure call address; step S8000 may include but is not limited to: obtaining an array of procedure call addresses based on the procedure call address of each level. After decoding the hash index of each level according to the corresponding traceable information index, the corresponding procedure call address of each level is read from each level of the multi-level hash table, and the obtained procedure call address is divided into levels. Number, that is, after sorting the call hierarchical relationship, the corresponding process call address array with hierarchical relationship is obtained, that is, the corresponding traceable information.
在一些可行的实施方式中,设可回溯信息索引为ks,散列索引为lidx,散列索引可通过以下公式得出:
lidxj+1=ks&(1<<xn-j-1)
ks=ks>>xn-j
In some feasible implementations, assuming that the traceable information index is ks and the hash index is lidx, the hash index can be obtained by the following formula:
lidx j+1 =ks&(1<<x nj -1)
ks=ks>>x nj
其中,lidxj+1为第j+1级过程调用等级对应的散列索引,xn-j为第n-j级过程调用等级对应的散列表索引的比特位个数,其中j=n-1,……,2,1,0,其中公式中各运算符为c语言运算符。Among them, lidx j+1 is the hash index corresponding to the j+1th level procedure call level, x nj is the number of bits of the hash table index corresponding to the njth level procedure call level, where j=n-1,... ,2,1,0, where each operator in the formula is a C language operator.
以一个四层调用的可回溯信息为例。获取该四层调用的可回溯信息对应的可回溯信息索引ks,可知,n=4,j=3,2,1,0。首先,取j=3,根据lidx3+1=ks&(1<<x4-3-1),求得第四级过程调用级数对应的散列索引lidx4,再令ks=ks>>x4-3,以便进行下次迭代运算;取j=2,根据lidx2+1=ks&(1<<x4-2-1),求得第三级过程调用级数对应的散列索引lidx3,再令ks=ks>>x4-2;取j=1,根据lidx1+1=ks&(1<<x4-1-1),求得第二级过程调用级数对应的散列索引lidx2,再令ks=ks>>x4-1;取j=0,根据lidx0+1=ks&(1<<x4-0-1),求得第一级过程调用级数对应的散列索引lidx1,再令ks=ks>>x4-0。得到每一级的散列索引后,查询对应过程调用等级的散列表,获取对应的过程调用地址cj+1,最后得到过程调用地址数组C4={c1,c2,c3,c4},即上述的四层调用的可回溯信息。Take the traceable information of a four-layer call as an example. Obtain the traceable information index ks corresponding to the traceable information of the four-layer call. It can be seen that n=4, j=3,2,1,0. First, take j=3, and according to lidx 3+1 =ks&(1<<x 4-3 -1), find the hash index lidx 4 corresponding to the fourth level procedure call series, and then let ks=ks>> x 4-3 for the next iteration operation; take j=2, and according to lidx 2+1 =ks&(1<<x 4-2 -1), find the hash index corresponding to the third-level procedure call series lidx 3 , and then let ks=ks>>x 4-2 ; take j=1, and according to lidx 1+1 =ks&(1<<x 4-1 -1), find the second-level procedure call series corresponding to Hash index lidx 2 , and then let ks=ks>>x 4-1 ; take j=0, and obtain the first-level procedure call level according to lidx 0+1 =ks&(1<<x 4-0 -1) The hash index lidx 1 corresponding to the number, and then let ks=ks>>x 4-0 . After obtaining the hash index of each level, query the hash table corresponding to the procedure call level, obtain the corresponding procedure call address c j+1 , and finally obtain the procedure call address array C 4 = {c 1 , c 2 , c 3 , c 4 }, that is, the traceable information of the above four layers of calls.
图5是本申请一实施例提供的多级散列表的查询过程的流程图。下面结合图5,对本申请实施例的信息读取方法做一个整体说明。FIG. 5 is a flow chart of a multi-level hash table query process provided by an embodiment of the present application. The following is an overall description of the information reading method according to the embodiment of the present application with reference to FIG. 5 .
可以理解地,多级散列表的可回溯信息查询过程是多级散列表的存储过程的逆过程。It can be understood that the traceable information query process of the multi-level hash table is the reverse process of the storage process of the multi-level hash table.
1)输入可回溯信息索引ks;其中,可回溯信息索引ks由如图3所示的方法将可回溯信息存储入多级散列表后返回。1) Enter the traceable information index ks; among them, the traceable information index ks is returned after storing the traceable information into a multi-level hash table using the method shown in Figure 3.
2)令j=n;其中,n为可回溯信息索引ks对应的可回溯信息的过程调用级数,如,ks对应的可回溯信息是四层调用,即过程调用级数共4级,此时n=4。2) Let j=n; where n is the procedure call level of the traceable information corresponding to the traceable information index ks. For example, the traceable information corresponding to ks is a four-level call, that is, there are 4 levels of process call levels in total. This When n=4.
3)令j=j-1后,判断j是否大于等于0,即对应图5中“--j≥0?”;在j≥0的情况下,执行步骤4);在j<0的情况下,输出过程调用地址数组Cn。3) After setting j=j-1, determine whether j is greater than or equal to 0, which corresponds to "--j≥0?" in Figure 5; in the case of j≥0, perform step 4); in the case of j<0 Next, output the procedure call address array C n .
4)通过lidxj+1=ks&(1<<xn-j-1),对ks进行解码计算,得到第j+1级对应的散列索引lidxj+1。4) Through lidx j+1 =ks&(1<<x nj -1), decode and calculate ks to obtain the hash index lidx j+1 corresponding to the j+1th level.
5)令ks=ks>>xn-j,以便下一次迭代运算。5) Let ks=ks>>x nj for the next iteration operation.
6)查询第j+1级对应的散列表hj+1,获得第j+1级对应的过程调用地址cj+1。6) Query the hash table h j +1 corresponding to the j +1th level, and obtain the procedure call address c j+1 corresponding to the j+1th level.
7)循环步骤3)至6),直到得到完整的过程调用地址数组Cn={c1,c2,c3,……,cj+1}。7) Loop through steps 3) to 6) until the complete procedure call address array C n = {c 1 , c 2 , c 3 ,..., c j+1 } is obtained.
图6是本申请一实施例提供的一种信息存储设备的结构示意图。如图6所示,本申请实施例提供的信息存储设备可执行本申请实施例提供的信息存储方法,具备执行方法相应的功能模块和技术效果。该装置可以通过软件、硬件或者软硬结合的方式实现,包括:第一获取模块400、第一处理模块500、及第一反馈模块600。 Figure 6 is a schematic structural diagram of an information storage device provided by an embodiment of the present application. As shown in Figure 6, the information storage device provided by the embodiment of the present application can execute the information storage method provided by the embodiment of the present application, and has the corresponding functional modules and technical effects of the execution method. The device can be implemented through software, hardware, or a combination of software and hardware, and includes: a first acquisition module 400, a first processing module 500, and a first feedback module 600.
第一获取模块400,设置为获取可回溯信息,其中,所述可回溯信息包括过程调用级数。The first acquisition module 400 is configured to acquire traceable information, where the traceable information includes a process call level.
第一处理模块500,设置为至少以下之一:构建多级散列表,其中,比特位划分数组根据所述过程调用级数设置,每级散列表的桶数根据对应的过程调用级数设置;将所述可回溯信息按照所述过程调用级数分别存入所述多级散列表中,其中,每级散列表中相同的可回溯信息仅存储一次。The first processing module 500 is configured to at least one of the following: construct a multi-level hash table, wherein the bit division array is set according to the procedure call level, and the number of buckets in each level of the hash table is set according to the corresponding procedure call level; The traceable information is stored in the multi-level hash table respectively according to the process call level, wherein the same traceable information in each level hash table is only stored once.
第一反馈模块600,设置为返回可回溯信息索引。The first feedback module 600 is configured to return a traceable information index.
图7是本申请一实施例提供的一种信息读取设备的结构示意图。如图7所示,本申请实施例提供的信息读取设备可执行本申请实施例提供的信息读取方法,具备执行方法相应的功能模块和技术效果。该装置可以通过软件、硬件或者软硬结合的方式实现,包括:第二获取模块700、第二处理模块800、及第二反馈模块900。Figure 7 is a schematic structural diagram of an information reading device provided by an embodiment of the present application. As shown in Figure 7, the information reading device provided by the embodiment of the present application can execute the information reading method provided by the embodiment of the present application, and has the corresponding functional modules and technical effects of the execution method. The device can be implemented by software, hardware, or a combination of software and hardware, and includes: a second acquisition module 700, a second processing module 800, and a second feedback module 900.
第二获取模块700,设置为获取可回溯信息索引,其中可回溯信息索引根据本申请任一实施例提供的信息存储方法得到。The second acquisition module 700 is configured to acquire a traceable information index, where the traceable information index is obtained according to the information storage method provided by any embodiment of the present application.
第二处理模块800,设置为至少以下之一:根据可回溯信息索引,解码得到每一级的散列索引;根据每一级散列索引从多级散列表中读取对应信息。The second processing module 800 is configured to be at least one of the following: decode to obtain the hash index of each level according to the traceable information index; read corresponding information from the multi-level hash table according to the hash index of each level.
第二反馈模块900,设置为向用户反馈得到的可回溯信息。The second feedback module 900 is configured to feed back the obtained traceable information to the user.
图8是本申请一实施例提供的一种电子设备结构示意图。如图8所示,该设备包括存储器1100、处理器1200、通信装置1300。存储器1100、处理器1200的数量可以是一个或多个,图8中以一个存储器1100和一个处理器1200为例;设备中的存储器1100和处理器1200可以通过总线或其他方式连接,图8中以通过总线连接为例。FIG. 8 is a schematic structural diagram of an electronic device provided by an embodiment of the present application. As shown in Figure 8, the device includes a memory 1100, a processor 1200, and a communication device 1300. The number of memories 1100 and processors 1200 can be one or more. In Figure 8, one memory 1100 and one processor 1200 are taken as an example. The memory 1100 and processor 1200 in the device can be connected through a bus or other means. In Figure 8 Take the example of connecting via a bus.
存储器1100作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任一实施例提供的信息存储方法和/或信息读取方法对应的程序指令/模块。处理器1200通过运行存储在存储器1110中的软件程序、指令以及模块实现上述信息存储方法和/或信息读取方法。As a computer-readable storage medium, the memory 1100 can be used to store software programs, computer-executable programs and modules, such as program instructions/modules corresponding to the information storage method and/or the information reading method provided in any embodiment of the present application. The processor 1200 implements the above information storage method and/or information reading method by running software programs, instructions and modules stored in the memory 1110 .
存储器1100可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序。此外,存储器1100可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件或其他非易失性固态存储器件。在一些实例中,存储器1100可包括相对于处理器1200远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。The memory 1100 may mainly include a program storage area and a data storage area, where the program storage area may store an operating system and at least one application program required for a function. In addition, the memory 1100 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid-state storage device. In some examples, memory 1100 may include memory located remotely from processor 1200, and these remote memories may be connected to the device through a network. Examples of the above-mentioned networks include but are not limited to the Internet, intranets, local area networks, mobile communication networks and combinations thereof.
通信装置1300设置为根据处理器1200的控制进行信息收发通信。The communication device 1300 is configured to perform information transceiver communication according to the control of the processor 1200 .
在一实施例中,通信装置1300包括接收器1310、发送器1320。接收器1310为电子设备中进行数据接收的模块或器件组合。发送器1320为电子设备中进行数据发送的模块或器件组合。In an embodiment, the communication device 1300 includes a receiver 1310 and a transmitter 1320. The receiver 1310 is a module or device combination in an electronic device that receives data. The transmitter 1320 is a module or device combination in an electronic device that transmits data.
本申请一实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,该计算机可执行指令用于执行如本申请任一实施例提供的信息存储方法和/或信息读取方法。An embodiment of the present application also provides a computer-readable storage medium that stores computer-executable instructions. The computer-executable instructions are used to execute the information storage method and/or the information reading method provided by any embodiment of the present application. .
本申请实施例描述的系统架构以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着系统架构的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。The system architecture and application scenarios described in the embodiments of this application are for the purpose of explaining the technical solutions of the embodiments of this application more clearly, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. Those skilled in the art will know that with the system architecture With the evolution of technology and the emergence of new application scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中 的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。Those of ordinary skill in the art can understand that all or some of the steps, systems, and equipment in the methods disclosed above The functional modules/units may be implemented as software, firmware, hardware and appropriate combinations thereof.
在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。In hardware implementations, the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may consist of several physical components. Components execute cooperatively. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit . Such software may be distributed on computer-readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). As is known to those of ordinary skill in the art, the term computer storage media includes volatile and nonvolatile media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. removable, removable and non-removable media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disk (DVD) or other optical disk storage, magnetic cassettes, tapes, disk storage or other magnetic storage devices, or may Any other medium used to store the desired information and that can be accessed by a computer. Additionally, it is known to those of ordinary skill in the art that communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media .
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程或执行线程中,部件可位于一个计算机上或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自于自与本地系统、分布式系统或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地或远程进程来通信。The terms "component", "module", "system", etc. used in this specification are used to refer to computer-related entities, hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to, a process, processor, object, executable file, thread of execution, program or computer running on a processor. Through the illustrations, both applications running on the computing device and the computing device may be components. One or more components can reside in a process or thread of execution, and the component can be localized on one computer or distributed between 2 or more computers. Additionally, these components can execute from various computer-readable media having various data structures stored thereon. A component may, for example, be based on a signal having one or more data packets (eg, data from two components interacting with another component, such as a local system, a distributed system, or a network, such as the Internet, which interacts with other systems via signals) Communicate through local or remote processes.
以上参照附图说明了本申请的一些实施例,并非因此局限本申请的权利范围。本领域技术人员不脱离本申请的范围和实质内所作的任何修改、等同替换和改进,均应在本申请的权利范围之内。 Some embodiments of the present application have been described above with reference to the accompanying drawings, but the scope of rights of the present application is not thereby limited. Any modifications, equivalent substitutions and improvements made by those skilled in the art without departing from the scope and essence of this application shall be within the scope of rights of this application.
Claims (11)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210741922.2 | 2022-06-28 | ||
| CN202210741922.2A CN117349107A (en) | 2022-06-28 | 2022-06-28 | Information storage, reading methods, equipment and storage media |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024001630A1 true WO2024001630A1 (en) | 2024-01-04 |
Family
ID=89363667
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/096570 Ceased WO2024001630A1 (en) | 2022-06-28 | 2023-05-26 | Information storage method and device, information reading method, and device and storage medium |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN117349107A (en) |
| WO (1) | WO2024001630A1 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6167402A (en) * | 1998-04-27 | 2000-12-26 | Sun Microsystems, Inc. | High performance message store |
| CN102629269A (en) * | 2012-03-09 | 2012-08-08 | 深圳市民德电子科技有限公司 | Searching and storing method for embedded database |
| US20150256601A1 (en) * | 2014-03-10 | 2015-09-10 | Palo Alto Research Center Incorporated | System and method for efficient content caching in a streaming storage |
| US9542300B1 (en) * | 2013-03-15 | 2017-01-10 | Twitter, Inc. | System and method for tracking callback functions for error identification |
| US20200117546A1 (en) * | 2018-10-12 | 2020-04-16 | EMC IP Holding Company LLC | Memory efficient perfect hashing for large records |
-
2022
- 2022-06-28 CN CN202210741922.2A patent/CN117349107A/en active Pending
-
2023
- 2023-05-26 WO PCT/CN2023/096570 patent/WO2024001630A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6167402A (en) * | 1998-04-27 | 2000-12-26 | Sun Microsystems, Inc. | High performance message store |
| CN102629269A (en) * | 2012-03-09 | 2012-08-08 | 深圳市民德电子科技有限公司 | Searching and storing method for embedded database |
| US9542300B1 (en) * | 2013-03-15 | 2017-01-10 | Twitter, Inc. | System and method for tracking callback functions for error identification |
| US20150256601A1 (en) * | 2014-03-10 | 2015-09-10 | Palo Alto Research Center Incorporated | System and method for efficient content caching in a streaming storage |
| US20200117546A1 (en) * | 2018-10-12 | 2020-04-16 | EMC IP Holding Company LLC | Memory efficient perfect hashing for large records |
Also Published As
| Publication number | Publication date |
|---|---|
| CN117349107A (en) | 2024-01-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI662426B (en) | Method and device for distributed stream data processing | |
| WO2019062574A1 (en) | Metadata query method and device | |
| CN117056351B (en) | SQL statement generation method, device and equipment | |
| CN112907198B (en) | Service state circulation maintenance method and device and electronic equipment | |
| CN116821058B (en) | Metadata access method, device, equipment and storage medium | |
| CN104090952B (en) | A kind of method and system of data flow average value under estimation sliding window | |
| WO2024001630A1 (en) | Information storage method and device, information reading method, and device and storage medium | |
| WO2021068740A1 (en) | File management method and device | |
| WO2022093562A1 (en) | Identifying non-correctable errors using error pattern analysis | |
| CN120045587A (en) | Data query method, device, equipment, storage medium and program product for distributed database | |
| WO2025130374A1 (en) | Data processing method and apparatus, database management system, electronic device, and storage medium | |
| US11372832B1 (en) | Efficient hashing of data objects | |
| CN113220456A (en) | Bill data processing method and related device | |
| CN116192776B (en) | Message order-preserving method and device capable of self-repairing, terminal and storage medium | |
| US11734281B1 (en) | Database management systems using query-compliant hashing techniques | |
| US20230289350A1 (en) | Database management systems using query-compliant hashing techniques | |
| CN117194147A (en) | Container cluster monitoring system, method, device and storage medium | |
| CN117221250A (en) | Method and device for determining resource utilization rate and computer equipment | |
| CN110968267B (en) | Data management method, device, server and system | |
| CN116049181A (en) | A log processing method and device based on ClickHouse cluster | |
| CN114756177A (en) | Method and device for sharing storage space | |
| CN119292798B (en) | Waiting relation diagram construction method and device, electronic equipment and storage medium | |
| CN117896040B (en) | Method, device, computer equipment and storage medium for detecting downlink control information | |
| CN115857836B (en) | Information storage method and device based on big data | |
| Bender et al. | Advanced data structures for improved cyber resilience and awareness in untrusted environments: LDRD report |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23829815 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 23829815 Country of ref document: EP Kind code of ref document: A1 |