CN117349107A - 信息存储、读取方法、设备及存储介质 - Google Patents
信息存储、读取方法、设备及存储介质 Download PDFInfo
- Publication number
- CN117349107A CN117349107A CN202210741922.2A CN202210741922A CN117349107A CN 117349107 A CN117349107 A CN 117349107A CN 202210741922 A CN202210741922 A CN 202210741922A CN 117349107 A CN117349107 A CN 117349107A
- Authority
- CN
- China
- Prior art keywords
- information
- hash
- procedure call
- index
- level
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 210
- 230000015654 memory Effects 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 9
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000010365 information processing Effects 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000006837 decompression Effects 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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
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
技术领域
本申请涉及信息处理技术领域,尤其是一种信息存储、读取方法、设备及存储介质。
背景技术
随着通信科技的发展,嵌入式系统的复杂性不断增加。为了准确的定位系统问题,保证产品质量,需在系统运行时增加可回溯信息的记录。在嵌入式系统中,可回溯信息是指描述过程调用序列的信息,根据该信息可回溯系统的运行的过程。
相关技术中,可回溯信息的存储存在大量重复的内容,这会占用嵌入式设备较多的存储空间。不仅对设备的存储空间具有较高的要求,且会对设备的存储空间造成浪费。也有相关技术使用压缩保存方法以降低可回溯信息占用的内存,但该方式引入额外的压缩和解压缩开销。如何在减少引入开销的基础上,降低对设备存储空间的使用,是亟待解决的问题。
发明内容
本申请实施例提供一种信息存储、读取方法、设备及存储介质,旨在不引入压缩、解压算法开销的前提下,减少设备存储空间的开销,满足实时性的要求。
第一方面,本申请实施例提供一种信息存储方法,包括:获取可回溯信息,其中,所述可回溯信息包括过程调用级数;构建多级散列表,其中,比特位划分数组根据所述过程调用级数设置,每级散列表的桶数根据对应的过程调用级数设置;将所述可回溯信息按照所述过程调用级数分别存入所述多级散列表中,其中,每级散列表中相同的可回溯信息仅存储一次;返回可回溯信息索引。
第二方面,本申请实施例提供一种信息读取方法,包括:获取可回溯信息索引,其中所述可回溯信息索引根据如第一方面中的信息存储方法得到;根据所述可回溯信息索引,解码得到每一级的散列索引;根据每一级散列索引从多级散列表中读取对应信息;得到可回溯信息。
第三方面,本申请实施例提供一种信息存储设备,包括:
获取模块,所述获取模块用于获取可回溯信息,其中,所述可回溯信息包括过程调用级数;处理模块,所述处理模块用于构建多级散列表,其中,比特位划分数组根据所述过程调用级数设置,每级散列表的桶数根据对应的过程调用级数设置;所述处理模块还用于将所述可回溯信息按照所述过程调用级数分别存入所述多级散列表中,其中,每级散列表中相同的可回溯信息仅存储一次;反馈模块,所述反馈模块用于返回可回溯信息索引。
第四方面,本申请实施例提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如第一方面中的信息存储方法,或实现如第二方面中的信息读取方法。
第五方面,本申请实施例提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行所述计算机程序时实现如第一方面中的信息存储方法,或如第二方面中的信息读取方法。
附图说明
图1为本申请一实施例提供的一种系统架构图;
图2为本申请一实施例提供的信息存储方法的流程图;
图3为本申请一实施例提供的多级散列表的存储过程的流程图;
图4为本申请一实施例提供的信息读取方法的流程图;
图5为本申请一实施例提供的多级散列表的查询过程的流程图;
图6为本申请一实施例提供的一种信息存储设备的结构示意图;
图7为本申请一实施例提供的一种信息读取设备的结构示意图;
图8为本申请一实施例提供的一种电子设备结构示意图。
具体实施方式
为了使本申请的目的、技术方法及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本申请实施例中的具体含义。本申请实施例中,“进一步地”、“示例性地”或者“可选地”等词用于表示作为例子、例证或说明,不应被解释为比其它实施例或设计方案更优选或更具有优势。使用“进一步地”、“示例性地”或者“可选地”等词旨在以具体方式呈现相关概念。
本申请实施例可以应用于各种嵌入式设备或通信设备,例如:手机、平板电脑、计算机、笔记本电脑、可穿戴设备、车载设备、基站、网元设备、无人机等。本申请实施例并不限定。
随着科技的发展,嵌入式系统的复杂性不断增加,为了能准确的定位系统问题,保证产品质量,必须要在系统运行时增加可回溯信息的记录。同时,通信领域对于系统的实时性有着极高的要求。然而,嵌入式设备的内存受限,如何在保证可回溯信息得到记录的同时,既能满足嵌入式设备低内存开销的要求,又能确保系统的实时性,就成为了提升产品竞争力不可忽视的关键,且符合通信与实时系统领域的技术发展。
嵌入式系统中的可回溯信息是指描述过程调用序列的信息,根据该信息可回溯系统的运行时过程。嵌入式设备存储的可回溯信息通常存在大量重复的内容,在设备存储空间受限的应用场景下,会对设备存储造成极大的浪费。另外,可回溯信息在实际的应用场景中需要快速的访问,而使用压缩保存方法虽然能降低可回溯信息的内存占用,但是它会引入额外的压缩和解压缩开销。
本申请实施例提供了一种信息存储、读取方法、设备及存储介质,通过多级散列表存储可回溯信息,合并相同的可回溯信息来减少内存占用;在于不引入压缩算法开销的前提下,减少了可回溯信息的存储空间开销,相同的可回溯信息越多其存储空间占用越少。同时,本申请信息存储和读取过程无需压缩算法进行压缩解压,直接根据多级散列表进行存储和读取,时间复杂度不受算法影响,是确定的,能够满足实时系统的要求。
下面结合附图,对本申请实施例作进一步阐述。
图1是本申请一实施例提供的信息存储方法的系统架构图。如图1所示,该系统架构包括获取模块100、处理模块200和反馈模块300。可以理解的是,该系统架构即可以作为一个整体部署在某个嵌入式系统或者通信系统的数据处理中心,也可以作为一个整体部署在某个嵌入式系统的某个节点或者某个通信网络架构的某一节点中,还可以将各模块分别部署在某个嵌入式系统或通信系统的不同节点中,各模块之间通过通信连接进行交互。
获取模块100,可用于获取可回溯信息,其中,所述可回溯信息包括过程调用级数;
处理模块200,用于构建多级散列表,其中,比特位划分数组根据所述过程调用级数设置,每级散列表的桶数根据对应的过程调用级数设置;还用于将所述可回溯信息按照所述过程调用级数分别存入所述多级散列表中,其中,每级散列表中相同的可回溯信息仅存储一次;
反馈模块300,用于返回可回溯信息索引。
在一些可行的实施方式中,图1的系统架构图还可以用于信息读取方法,可以理解的是,信息读取方法即信息存储方法的逆过程。如图1所示,获取模块100,还可以用于获取可回溯信息索引;处理模块200,还可以用于根据通过获取模块100得到的可回溯信息索引,解码得到每一级的散列索引,根据每一级散列索引从多级散列表中读取对应信息;反馈模块300,还可以用于反馈通过处理模块200得到的可回溯信息。
本实施例方案基于嵌入式应用场景或通信场景中存在大量相同且临近的过程调用地址的事实,通过多级散列表合并相同的过程调用地址,在不引入压缩算法的前提下减少可回溯信息的存储空间占用。同时实现了可回溯信息的高性能查询,满足嵌入式系统的实时性要求。
图2是本申请一实施例提供的信息存储方法的流程图。如图2所示,该信息处理方法可用于终端也可以用于服务器。在图2的实施例中,该信息处理方法可以包括但不限于步骤 S1000、步骤S2000、步骤S3000以及步骤S4000。
步骤S1000:获取可回溯信息,其中,可回溯信息包括过程调用级数。
在嵌入式系统或通信系统中,为了方便后期系统维护,告警溯源等,会生成能够表征系统在某一次调用中涉及的各节点流向的信息,即可回溯信息,一个可回溯信息一般由多级调用信息组成。
在一些可行的实施方式中,一个可回溯信息即是一组有层次关系的过程调用地址数组。其中,过程调用地址数组包括含调用层次关系的至少一个过程调用地址;其中,调用层次既是过程调用级数。可选地,过程调用地址数组层次最高的,即该次调用中最上游对应为第一级,随着调用过程越往下游,过程调用级数依次增加。
示例性地,假设一个可回溯信息为{A,B,C,D,E}的过程调用地址数组,其调用过程为 A→B→C→D→E,则过程调用级数与地址对应关系如下,A过程调用地址对应为第一级,B过程调用地址对应为第二级,C过程调用地址对应为第三级,D过程调用地址对应为第四级,E 过程调用地址对应为第五级。
步骤S2000:构建多级散列表,其中,比特位划分数组根据过程调用级数设置,每级散列表的桶数根据对应的过程调用级数设置。
多级散列表中每一级散列表与过程调用级数顺序对应;在实际的应用场景中,级数越靠前的过程调用级数对应的可回溯信息重复的概率,即级数越靠前的过程调用地址相同的概率越大,不需要较多的散列表桶数,级数越靠后的过程调用级数对应的可回溯信息的重复概率,即级数越靠后的过程调用地址相同的概率越低,需要较多的散列表桶数;因此,每一级散列表的桶数根据其对应的过程调用级数进行设置,对应的过程调用级数越靠后的散列表,设置的桶数越多。可以想到地是,多级散列表可以是根据专家经验,根据实际应用场景的可回溯信息分析预先构建。
步骤S3000:将可回溯信息按照过程调用级数分别存入多级散列表中,其中,每级散列表中相同的可回溯信息仅存储一次。
将每一级过程调用级数对应的部分可回溯信息存入级数与该级过程调用级数对应的散列表中。在每一级散列表中,多个相同的可回溯信息存入时,散列表只将第一次存入的可回溯信息放入,后续相同的可回溯信息存入时,只触发散列表返还散列索引,而不将相同的可回溯信息实际存入散列表中。
在一些可行的实施方式中,步骤S3000还可以包括但不限于以下步骤:
对过程调用地址数组中的每一级过程调用地址进行散列运算,得到散列索引;
将每一级过程调用地址根据散列索引保存至对应级数的散列表中,返回对应的散列索引。
其中,散列索引的比特位数在构建多级散列表时,根据对应的过程调用等级预先设置,由于可回溯信息中对应的过程调用级数越靠前的信息重复率越大,因此对应的级数越靠前的散列表需要存储的内容就越少,需要的桶数越低,存储内容复杂度越低,因此对应的过程调用级数越靠前的散列表返回的散列索引的比特位数越少;进一步地,每一级具体的比特位数可以根据对应级数的散列表以及对应级数的可回溯信息的需求进行配置。
在一些可行的实施方式中,在对过程调用地址数组中的每一级过程调用地址进行散列运算,得到散列索引后,查询散列索引是否已存在对应级数的散列表中;在存在的情况下,增加散列索引对应的计数,并返回对应的散列索引;在不存在的情况下,根据散列索引将对应的过程调用地址保存至对应级数的散列表中并返回对应的散列索引。
将可回溯信息的每一级过程调用地址,按照过程调用级数分别存入对应级数的散列表中,其中,对相同的过程调用地址进行合并,即只将相同的过程调用地址中第一次存入的过程调用地址存入对应级数的散列表中,后续相同的过程调用地址不重复存入散列表占用桶数和内存,增加该过程调用地址对应的散列索引的计数。
步骤S4000:返回可回溯信息索引。
将可回溯信息按照过程调用级数分别存入多级散列表后,每一级散列表均会返回一个对应的散列索引,根据可回溯信息存入多级散列表返回的各级散列索引得到该可回溯信息对应的可回溯信息索引。
在一些可行的实施方式中,可通过编码的方式,将可回溯信息对应的每一级散列表返回的散列索引合并成该可回溯信息的可回溯信息索引。
在一些可行的实施方式中,设可回溯信息索引为ks,散列索引为lidx,可回溯信息索引可通过以下公式得出:
ks=(ks<<xi)|lidx
其中,xi为第i级过程调用等级对应的散列表索引的比特位个数,其中公式中各运算符为 c语言运算符。
以一个四层调用的可回溯信息为例,可回溯信息进行过程调用级数分化出四级,将第一级过程调用等级对应的过程调用地址进行散列运算并存入第一级的散列表,得到第一级的散列表返回的lidx,执行ks=(ks<<x1)|lidx;重复上述操作,直至每一级过程调用等级对应的过程调用地址都完成散列运算,最后得到该四层调用的可回溯信息的可回溯信息索引。
图3是本申请一实施例提供的多级散列表的存储过程的流程图。下面结合图3,对本申请实施例的信息存储方法做一个示例性的整体说明。
步骤一、构建可回溯信息存储数据结构。
可回溯信息是一组有层次关系的过程调用地址数组,确定过程调用级数n,如可回溯信息是一组7层调用关系的过程调用地址数组时,n取7,过程调用级数共有1至7七个级数。确定比特位划分数组Xn={x1,x2,......,xn}。xn描述了第n级过程调用地址对应的散列表索引的比特位个数,而2xn对应第n级散列表的桶数。在实际的应用场景中,级数越靠前的过程调用地址相同的概率越大,不需要较多的散列表桶数,级数越靠后的过程调用地址相同概率越低,需要较多的散列表桶数。通过上述设置,能够基于实际的应用场景灵活设置各级过程调用地址对应的散列表的桶数。
步骤二、可回溯信息的存储。
步骤二主要是为了得到编码后的可回溯信息索引ks,如图3所示。
1)输入过程调用地址数组Cn={c1,c2,......,cn},即可回溯信息,cn表示该可回溯信息的第n 级的过程调用地址;
2)对第i级过程调用地址ci,进行散列运算,查询散列索引是否存在于第i级散列表hi中,如果不存在,将散列索引对应的过程调用地址保存至该级散列表中;如果存在,增加该散列索引对应的计数。其中,i=1,2,……,n。
3)上述2)中两个路径均会得到一个第i级对应的散列索引lidx,令ks=(ks<<xi)|lidx,对第i级过程调用地址对应的散列索引进行编码。
4)令i=i+1,返回步骤2),即进行下一级过程调用地址ci+1的存储。
5)循环执行2)至4),直至对每一级过程调用地址完成散列运算,完成存储过程,即i>n,最后将可回溯信息索引ks返回给用户。
图4是本申请一实施例提供的信息读取方法的流程图。如图4所示,该信息处理方法可用于终端也可以用于服务器。在图4的实施例中,该信息处理方法可以包括但不限于步骤 S5000、步骤S6000、步骤S7000以及步骤S8000。
步骤S5000:获取可回溯信息索引,其中可回溯信息索引根据如任一实施例提供的信息存储方法得到。
步骤S6000:根据可回溯信息索引,解码得到每一级的散列索引。
步骤S7000:根据每一级散列索引从多级散列表中读取对应信息。
步骤S8000:得到可回溯信息。
可以理解地,本申请的信息读取方法为上述任一实施例提供的信息存储方法的逆过程。在通过上述任一实施例提供的信息存储方法得到可回溯信息索引后,在需要提取已存入多级散列表的可回溯信息时,获取该可回溯信息对应的可回溯信息索引;对该可回溯信息索引进行解码,解码方式与信息存储方法中的编码方式相对应,得到每一级过程调用级数对应的散列索引;根据每一级散列索引,从多级散列表中每一级散列表中读取对应级数的部分可回溯信息,最后将全部各级对应的部分可回溯信息汇总,得到该可回溯信息索引对应的可回溯信息。
在一些可行的实施方式中,在先存入的可回溯信息为一组有层次关系的过程调用地址数组,步骤S7000可以包括但不限于:根据每一级散列索引,从多级散列表中读取对应的过程调用地址;步骤S8000可以包括但不限于:根据每一级过程调用地址,得到过程调用地址数组。具体地,根据对应的可回溯信息索引解码得到每一级的散列索引后,从多级散列表的每一级散列表中分别读取对应的每一级过程调用地址,将得到的过程调用地址按照级数,即调用层次关系进行排序后,得到对应的具有层次关系的过程调用地址数组,即对应的可回溯信息。
在一些可行的实施方式中,设可回溯信息索引为ks,散列索引为lidx,散列索引可通过以下公式得出:
lidxj+1=ks&(1<<xn-j-1)
ks=ks>>xn-j
其中,lidxj+1为第j+1级过程调用等级对应的散列索引,xn-j为第n-j级过程调用等级对应的散列表索引的比特位个数,其中j=n-1,……,2,1,0,其中公式中各运算符为c语言运算符。
以一个四层调用的可回溯信息为例。获取该四层调用的可回溯信息对应的可回溯信息索引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},即上述的四层调用的可回溯信息。
图5是本申请一实施例提供的多级散列表的查询过程的流程图。下面结合图5,对本申请实施例的信息读取方法做一个示例性的整体说明。
可以理解地,多级散列表的可回溯信息查询过程是多级散列表的存储过程的逆过程。
1)输入可回溯信息索引ks;其中,可回溯信息索引ks由如图3所示的方法将可回溯信息存储入多级散列表后返回。
2)令j=n;其中,n为可回溯信息索引ks对应的可回溯信息的过程调用级数,如,ks对应的可回溯信息是四层调用,即过程调用级数共4级,此时n=4。
3)令j=j-1后,判断j是否大于等于0,即对应图5中“--j≥0?”;在j≥0的情况下,执行步骤4);在j<0的情况下,输出过程调用地址数组Cn。
4)通过lidxj+1=ks&(1<<xn-j-1),对ks进行解码计算,得到第j+1级对应的散列索引lidxj+1。
5)令ks=ks>>xn-j,以便下一次迭代运算。
6)查询第j+1级对应的散列表hj+1,获得第j+1级对应的过程调用地址cj+1。
7)循环步骤3)至6),直到得到完整的过程调用地址数组Cn={c1,c2,c3,……,cj+1}。
图6是本申请一实施例提供的一种信息存储设备的结构示意图。如图6所示,本申请实施例提供的信息存储设备可执行本申请实施例提供的信息存储方法,具备执行方法相应的功能模块和技术效果。该装置可以通过软件、硬件或者软硬结合的方式实现,包括:第一获取模块400、第一处理模块500、及第一反馈模块600。
第一获取模块400,设置为获取可回溯信息,其中,所述可回溯信息包括过程调用级数。
第一处理模块500,设置为至少以下之一:构建多级散列表,其中,比特位划分数组根据所述过程调用级数设置,每级散列表的桶数根据对应的过程调用级数设置;将所述可回溯信息按照所述过程调用级数分别存入所述多级散列表中,其中,每级散列表中相同的可回溯信息仅存储一次。
第一反馈模块600,设置为返回可回溯信息索引。
图7是本申请一实施例提供的一种信息读取设备的结构示意图。如图7所示,本申请实施例提供的信息读取设备可执行本申请实施例提供的信息读取方法,具备执行方法相应的功能模块和技术效果。该装置可以通过软件、硬件或者软硬结合的方式实现,包括:第二获取模块700、第二处理模块800、及第二反馈模块900。
第二获取模块700,设置为获取可回溯信息索引,其中可回溯信息索引根据本申请任一实施例提供的信息存储方法得到。
第二处理模块800,设置为至少以下之一:根据可回溯信息索引,解码得到每一级的散列索引;根据每一级散列索引从多级散列表中读取对应信息。
第二反馈模块900,设置为向用户反馈得到的可回溯信息。
图8是本申请一实施例提供的一种电子设备结构示意图。如图8所示,该设备包括存储器1100、处理器1200、通信装置1300。存储器1100、处理器1200的数量可以是一个或多个,图8中以一个存储器1100和一个处理器1200为例;设备中的存储器1100和处理器1200可以通过总线或其他方式连接,图8中以通过总线连接为例。
存储器1100作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任一实施例提供的信息存储方法和/或信息读取方法对应的程序指令/模块。处理器1200通过运行存储在存储器1110中的软件程序、指令以及模块实现上述信息存储方法和/或信息读取方法。
存储器1100可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序。此外,存储器1100可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件或其他非易失性固态存储器件。在一些实例中,存储器1100可进一步包括相对于处理器1200远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信装置1300设置为根据处理器1200的控制进行信息收发通信。
在一实施例中,通信装置1300包括接收器1310、发送器1320。接收器1310为电子设备中进行数据接收的模块或器件组合。发送器1320为电子设备中进行数据发送的模块或器件组合。
本申请一实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,该计算机可执行指令用于执行如本申请任一实施例提供的信息存储方法和/或信息读取方法。
本申请实施例描述的系统架构以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着系统架构的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质 (或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据) 的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程或执行线程中,部件可位于一个计算机上或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自于自与本地系统、分布式系统或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地或远程进程来通信。
以上参照附图说明了本申请的一些实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本申请的权利范围之内。
Claims (11)
1.一种信息存储方法,包括:
获取可回溯信息,其中,所述可回溯信息包括过程调用级数;
构建多级散列表,其中,比特位划分数组根据所述过程调用级数设置,每级散列表的桶数根据对应的过程调用级数设置;
将所述可回溯信息按照所述过程调用级数分别存入所述多级散列表中,其中,每级散列表中相同的可回溯信息仅存储一次;
返回可回溯信息索引。
2.根据权利要求1所述的方法,其特征在于,所述可回溯信息为具有层次关系的过程调用地址数组。
3.根据权利要求2所述的方法,其特征在于,所述将所述可回溯信息按照所述过程调用级数分别存入所述多级散列表中,包括:
对所述过程调用地址数组中的每一级过程调用地址进行散列运算,得到散列索引;
将每一级过程调用地址根据所述散列索引保存至对应级数的散列表中,返回对应的散列索引。
4.根据权利要求3所述的方法,其特征在于,所述将每一级过程调用地址根据所述散列索引保存至对应级数的散列表中,返回对应的散列索引,包括:
查询所述散列索引是否已存在对应级数的散列表中;
在存在的情况下,增加所述散列索引对应的计数,并返回对应的散列索引;
在不存在的情况下,根据所述散列索引将对应的过程调用地址保存至对应级数的散列表中并返回对应的散列索引。
5.根据权利要求3或4所述的方法,其特征在于,每一级的散列索引的比特位数根据对应的过程调用级数预先设置。
6.根据权利要求3或4所述的方法,其特征在于,所述返回可回溯信息索引,包括:
对每一级的散列索引进行编码,得到所述可回溯信息索引。
7.一种信息读取方法,包括:
获取可回溯信息索引,其中所述可回溯信息索引根据如权利要求1至6任一项所述的信息存储方法得到;
根据所述可回溯信息索引,解码得到每一级的散列索引;
根据每一级散列索引从多级散列表中读取对应信息;
得到可回溯信息。
8.根据权利要求7所述的方法,其特征在于,所述根据每一级散列索引从多级散列表中读取对应信息,包括:
根据每一级散列索引,从所述多级散列表中读取对应的过程调用地址;
所述得到可回溯信息,包括:
根据每一级过程调用地址,得到过程调用地址数组。
9.一种信息存储设备,包括:
获取模块,所述获取模块用于获取可回溯信息,其中,所述可回溯信息包括过程调用级数;
处理模块,所述处理模块用于构建多级散列表,其中,比特位划分数组根据所述过程调用级数设置,每级散列表的桶数根据对应的过程调用级数设置;
所述处理模块还用于将所述可回溯信息按照所述过程调用级数分别存入所述多级散列表中,其中,每级散列表中相同的可回溯信息仅存储一次;
反馈模块,所述反馈模块用于返回可回溯信息索引。
10.一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的信息存储方法,或实现如权利要求7至8任一项所述的信息读取方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行所述计算机程序时实现如权利要求1至6任一项所述的信息存储方法,或如权利要求7至8任一项所述的信息读取方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210741922.2A CN117349107A (zh) | 2022-06-28 | 2022-06-28 | 信息存储、读取方法、设备及存储介质 |
PCT/CN2023/096570 WO2024001630A1 (zh) | 2022-06-28 | 2023-05-26 | 信息存储、读取方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210741922.2A CN117349107A (zh) | 2022-06-28 | 2022-06-28 | 信息存储、读取方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117349107A true CN117349107A (zh) | 2024-01-05 |
Family
ID=89363667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210741922.2A Pending CN117349107A (zh) | 2022-06-28 | 2022-06-28 | 信息存储、读取方法、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117349107A (zh) |
WO (1) | WO2024001630A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6167402A (en) * | 1998-04-27 | 2000-12-26 | Sun Microsystems, Inc. | High performance message store |
CN102629269B (zh) * | 2012-03-09 | 2014-09-24 | 深圳市民德电子科技有限公司 | 一种嵌入式数据库的检索及存储方法 |
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 |
US11010257B2 (en) * | 2018-10-12 | 2021-05-18 | EMC IP Holding Company LLC | Memory efficient perfect hashing for large records |
-
2022
- 2022-06-28 CN CN202210741922.2A patent/CN117349107A/zh active Pending
-
2023
- 2023-05-26 WO PCT/CN2023/096570 patent/WO2024001630A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024001630A1 (zh) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111143371B (zh) | 数据查询方法、装置、设备、系统及介质 | |
US9002825B2 (en) | Estimating rows returned by recursive queries using fanout | |
CN108769111A (zh) | 一种服务器连接方法、计算机可读存储介质及终端设备 | |
CN113961514B (zh) | 数据查询方法及装置 | |
CN111221840A (zh) | 数据处理方法及装置、数据缓存方法、存储介质、系统 | |
CN116822422B (zh) | 数字逻辑电路的分析优化方法及相关设备 | |
CN116108238B (zh) | 一种图数据库中多跳查询的优化方法、系统和装置 | |
CN111813517B (zh) | 任务队列的分配方法、装置、计算机设备及介质 | |
CN111858586A (zh) | 一种数据处理的方法和装置 | |
CN104408183B (zh) | 数据系统的数据导入方法和装置 | |
CN111930923A (zh) | 布隆过滤器系统及过滤方法 | |
CN111046106A (zh) | 缓存数据同步方法、装置、设备及介质 | |
CN117349107A (zh) | 信息存储、读取方法、设备及存储介质 | |
CN111259062B (zh) | 一种能够保证分布式数据库全表查询语句结果集顺序的方法和装置 | |
US7155446B2 (en) | Performing recursive database operations | |
CN116192776A (zh) | 可自修复的报文保序方法、装置、终端及存储介质 | |
CN115510161A (zh) | 数据同步方法、装置、设备及存储介质 | |
CN115828803A (zh) | 网表缩减方法、芯片验证方法及计算机存储介质 | |
CN115114289A (zh) | 一种数据查询方法、装置及电子设备 | |
CN114547034A (zh) | 一种数据查询的方法、装置、设备及存储介质 | |
CN109542939B (zh) | 一种基于纠删码的count-min摘要方法及装置 | |
CN112732188A (zh) | 基于分布式存储逻辑卷id分配效率的优化方法及系统 | |
CN110866151B (zh) | 一种特征遍历方法及相关设备 | |
CN110874246A (zh) | 一种模块加载方法、系统及设备 | |
CN113282624B (zh) | 规则匹配方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |