CN110515860A - 一种内存中存储数据的地址标识方法、系统及装置 - Google Patents
一种内存中存储数据的地址标识方法、系统及装置 Download PDFInfo
- Publication number
- CN110515860A CN110515860A CN201910816507.7A CN201910816507A CN110515860A CN 110515860 A CN110515860 A CN 110515860A CN 201910816507 A CN201910816507 A CN 201910816507A CN 110515860 A CN110515860 A CN 110515860A
- Authority
- CN
- China
- Prior art keywords
- memory
- target storage
- address
- stored
- storage object
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 241
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000003860 storage Methods 0.000 claims abstract description 425
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012512 characterization method Methods 0.000 claims description 4
- 241000406668 Loxodonta cyclotis Species 0.000 description 4
- 238000000151 deposition Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种内存中存储数据的地址标识方法、系统及装置,将占用相同大小内存空间的预存储对象连续存放至同一存储区域,并按照目标存储对象(任一预存储对象)存储至其所属的目标存储区域的顺序,对目标存储对象进行编号,目的是根据目标存储区域的起始地址和目标存储对象的编号,便可计算得到目标存储对象的内存地址。基于此,本申请在内存的地址存储空间中记录各存储区域中各存储对象的编号,同样可标识各存储对象在内存的存储位置。由于存储对象的编号所占的内存小于存储对象的地址所占的内存,所以本申请减小了内存的消耗,提高了内存的利用率,从而提高了系统存储阵列提供数据访问服务的质量。
Description
技术领域
本发明涉及存储领域,特别是涉及一种内存中存储数据的地址标识方法、系统及装置。
背景技术
系统存储阵列不仅要提供安全可靠地储存用户数据的服务,还要提供快速高效的数据访问服务。目前,为了提高数据访问的效率,通常采用访问效率更为高效的RAM(RandomAccess Memory,随机存取存储器)等内存来缓存硬盘上的数据。但由于内存的成本很高,所以提高内存的空间利用率十分重要,尤其针对用户数据较多、用户对数据的访问量的需求和访问效率的需求较高的情况。
现有技术中,内存包括用于保存存储对象的数据存储空间和用于保存存储对象的地址(起到标识各存储对象在内存的存储位置的作用)的地址存储空间。但是,存储对象的地址所占用的内存通常是按照系统控制器能够识别的最大地址所占用的内存来分配的(在目前的系统控制器中,标识一个地址一般需要8个字节),导致存储对象的地址所占用的内存较多,从而增加了内存的消耗,降低了内存的利用率,进而降低了系统存储阵列提供数据访问服务的质量。
因此,如何提供一种解决上述技术问题的方案是本领域的技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种内存中存储数据的地址标识方法、系统及装置,减小了内存的消耗,提高了内存的利用率,从而提高了系统存储阵列提供数据访问服务的质量。
为解决上述技术问题,本发明提供了一种内存中存储数据的地址标识方法,包括:
预先按照各预存储对象占用内存空间的大小,将内存的数据存储空间划分为N个存储区域;其中,同一存储区域存储的预存储对象所占用的内存空间相同;N为正整数;
当存储目标存储对象时,根据所述目标存储对象占用内存空间的大小确定其所属的目标存储区域;其中,所述目标存储对象为任一所述预存储对象;
将所述目标存储对象存储至所述目标存储区域,并按照所述目标存储区域连续存储各预存储对象的顺序对所述目标存储对象进行编号;
将所述目标存储对象的编号存储至所述内存的地址存储空间,以实现根据所述目标存储区域的起始地址和所述编号得到所述目标存储对象的内存地址。
优选地,所述按照所述目标存储区域连续存储各预存储对象的顺序对所述目标存储对象进行编号的过程,包括:
按照所述目标存储区域连续存储各预存储对象的顺序,对所述目标存储对象进行十进制编号。
优选地,所述根据所述起始地址和所述编号得到所述目标存储对象的内存地址的过程,包括:
根据目标存储对象的起始地址=目标存储区域的起始地址+目标存储对象的编号*目标存储对象占用的内存空间,计算所述目标存储对象的起始地址;其中,首次存储至所述目标存储区域的预存储对象的编号为0;
根据目标存储对象的终止地址=目标存储对象的起始地址+目标存储对象占用的内存空间-1,计算所述目标存储对象的终止地址,以得到所述目标存储对象的内存地址。
优选地,所述预先按照各预存储对象占用内存空间的大小,将内存的数据存储空间划分为N个存储区域的过程,包括:
预先获取各预存储对象占用内存空间的大小,并将占用相同大小内存空间的预存储对象归类为一组,得到N组预存储对象;
将内存的数据存储空间划分为用于一一存储N组所述预存储对象的N个存储区域,以建立表征N组所述预存储对象与N个所述存储区域的存储关系表;
相应的,所述根据所述目标存储对象占用内存空间的大小确定其所属的目标存储区域的过程,包括:
通过查找所述存储关系表,找到所述目标存储对象所属的目标存储区域。
优选地,所述地址标识方法还包括:
预先按照N个所述存储区域将存储的预存储对象的数量,将内存的地址存储空间划分为N个地址存储区域;
相应的,所述将所述目标存储对象的编号存储至所述内存的地址存储空间的过程,包括:
将N个所述存储区域所存储的预存储对象的编号一一存储至N个所述地址存储区域。
优选地,所述将N个所述存储区域所存储的预存储对象的编号一一存储至N个所述地址存储区域的过程,包括:
将N个所述存储区域所存储的预存储对象的编号,以二进制数形式的压缩格式一一存储至N个所述地址存储区域。
为解决上述技术问题,本发明还提供了一种内存中存储数据的地址标识系统,包括:
区域划分模块,用于预先按照各预存储对象占用内存空间的大小,将内存的数据存储空间划分为N个存储区域;其中,同一存储区域存储的预存储对象所占用的内存空间相同;N为正整数;
对象存储模块,用于当存储目标存储对象时,根据所述目标存储对象占用内存空间的大小确定其所属的目标存储区域,将所述目标存储对象存储至所述目标存储区域;其中,所述目标存储对象为任一所述预存储对象;
对象编号模块,用于按照所述目标存储区域连续存储各预存储对象的顺序对所述目标存储对象进行编号;
地址存储模块,用于将所述目标存储对象的编号存储至所述内存的地址存储空间,以实现根据所述目标存储区域的起始地址和所述编号得到所述目标存储对象的内存地址。
优选地,所述对象编号模块具体用于按照所述目标存储区域连续存储各预存储对象的顺序,对所述目标存储对象进行十进制编号。
优选地,所述根据所述起始地址和所述编号得到所述目标存储对象的内存地址的过程,包括:
根据目标存储对象的起始地址=目标存储区域的起始地址+目标存储对象的编号*目标存储对象占用的内存空间,计算所述目标存储对象的起始地址;其中,首次存储至所述目标存储区域的预存储对象的编号为0;
根据目标存储对象的终止地址=目标存储对象的起始地址+目标存储对象占用的内存空间-1,计算所述目标存储对象的终止地址,以得到所述目标存储对象的内存地址。
为解决上述技术问题,本发明还提供了一种内存中存储数据的地址标识装置,包括:
存储器,用于存储计算机程序;
处理器,用于在执行所述计算机程序时实现上述任一种内存中存储数据的地址标识方法的步骤。
本发明提供了一种内存中存储数据的地址标识方法,将占用相同大小内存空间的预存储对象连续存放至同一存储区域,并按照目标存储对象(任一预存储对象)存储至其所属的目标存储区域的顺序,对目标存储对象进行编号,目的是在目标存储对象占用的内存空间已知的情况下,根据目标存储区域的起始地址和目标存储对象的编号,便可计算得到目标存储对象的内存地址。基于此,本申请在内存的地址存储空间中,不再记录这些存储对象的地址,而是记录各存储区域中各存储对象的编号,同样可标识各存储对象在内存的存储位置。由于存储对象的编号所占的内存小于存储对象的地址所占的内存,所以本申请减小了内存的消耗,提高了内存的利用率,从而提高了系统存储阵列提供数据访问服务的质量。
本发明还提供了一种内存中存储数据的地址标识系统及装置,与上述地址标识方法具有相同的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种内存中存储数据的地址标识方法的流程图;
图2为本发明实施例提供的一种内存中存储数据的地址标识系统的结构示意图。
具体实施方式
本发明的核心是提供一种内存中存储数据的地址标识方法、系统及装置,减小了内存的消耗,提高了内存的利用率,从而提高了系统存储阵列提供数据访问服务的质量。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明实施例提供的一种内存中存储数据的地址标识方法的流程图。
该内存中存储数据的地址标识方法包括:
步骤S1:预先按照各预存储对象占用内存空间的大小,将内存的数据存储空间划分为N个存储区域;其中,同一存储区域存储的预存储对象所占用的内存空间相同。
具体地,本申请将即将存储至内存的存储对象称为预存储对象。本申请提前获取各预存储对象占用内存空间的大小,目的是将占用内存空间大小相同的预存储对象存储至同一存储区域(相当于建立预存储对象和存储区域的存储对应关系)。基于此,本申请可按照各预存储对象占用内存空间的大小,将内存的数据存储空间划分为N(正整数)个存储区域(当各预存储对象占用内存空间的大小都相同时,存储区域的个数为1个;当各预存储对象占用内存空间的大小不相同时,存储区域的个数为多个),即每个存储区域所存储的预存储对象占用的内存空间确定下来,从而使每个预存储对象均可按照自身所占内存空间的大小确定所属的存储区域。
步骤S2:当存储目标存储对象时,根据目标存储对象占用内存空间的大小确定其所属的目标存储区域。
需要说明的是,步骤S2中所提及的目标存储对象为步骤与S1中各预存储对象中任一预存储对象。
具体地,当存储目标存储对象时,需找到目标存储对象所属的目标存储区域进行存储。所以,当存储目标存储对象时,本申请首先根据目标存储对象占用内存空间的大小,确定目标存储对象所属的目标存储区域,以为后续目标存储对象的存储和编号打下基础。
步骤S3:将目标存储对象存储至目标存储区域,并按照目标存储区域连续存储各预存储对象的顺序对目标存储对象进行编号。
具体地,在确定目标存储对象所属的目标存储区域之后,将目标存储对象存储至目标存储区域即可。需要说明的是,不同目标存储对象应连续存储至目标存储区域,这里的连续存储是指相邻存储至目标存储区域的目标存储对象之间没有间隔存储空间,且同一目标存储对象的数据连续存储至目标存储区域;此外,首次存储至目标存储区域的目标存储对象从目标存储区域的起始地址开始存储,即首次存储至目标存储区域的目标存储对象的起始地址=目标存储区域的起始地址(在划分内存的数据存储空间时,可获取各存储区域的起始地址)。
可以理解的是,第二次存储至目标存储区域的目标存储对象的起始地址=第一次存储至目标存储区域的目标存储对象的起始地址+第一次存储至目标存储区域的目标存储对象占用的内存空间=目标存储区域的起始地址+第一次存储至目标存储区域的目标存储对象占用的内存空间,第三次存储至目标存储区域的目标存储对象的起始地址=目标存储区域的起始地址+第一次存储至目标存储区域的目标存储对象占用的内存空间+第二次存储至目标存储区域的目标存储对象占用的内存空间(由于目标存储区域存储的预存储对象所占用的内存空间相同,所以第三次存储至目标存储区域的目标存储对象的起始地址=目标存储区域的起始地址+2*存储至目标存储区域的一目标存储对象占用的内存空间),以此类推,第n次存储至目标存储区域的目标存储对象的起始地址=目标存储区域的起始地址+(n-1)*存储至目标存储区域的一目标存储对象占用的内存空间。可见,本申请只需获取目标存储区域的起始地址和一目标存储对象存储至目标存储区域的顺序,便可得到此目标存储对象的起始地址。由于目标存储区域存储的预存储对象所占用的内存空间已知,所以得到此目标存储对象的起始地址等同于得到此目标存储对象的内存地址(起始地址+终止地址,或起始地址+一目标存储对象占用的内存空间)。
基于此,本申请按照目标存储区域连续存储各预存储对象的顺序对目标存储对象进行编号,以得到目标存储对象存储至目标存储区域的顺序,从而为后续求取目标存储对象的内存地址打下基础。
步骤S4:将目标存储对象的编号存储至内存的地址存储空间,以实现根据目标存储区域的起始地址和编号得到目标存储对象的内存地址。
具体地,由于内存的地址存储空间存储的是表征各预存储对象的内存地址的信息,所以本申请在对目标存储对象进行编号后,将目标存储对象的编号存储至内存的地址存储空间,以根据目标存储区域的起始地址和目标存储对象的编号得到目标存储对象的内存地址,从而实现后续目标存储对象的访问。
本发明提供了一种内存中存储数据的地址标识方法,将占用相同大小内存空间的预存储对象连续存放至同一存储区域,并按照目标存储对象(任一预存储对象)存储至其所属的目标存储区域的顺序,对目标存储对象进行编号,目的是在目标存储对象占用的内存空间已知的情况下,根据目标存储区域的起始地址和目标存储对象的编号,便可计算得到目标存储对象的内存地址。基于此,本申请在内存的地址存储空间中,不再记录这些存储对象的地址,而是记录各存储区域中各存储对象的编号,同样可标识各存储对象在内存的存储位置。由于存储对象的编号所占的内存小于存储对象的地址所占的内存,所以本申请减小了内存的消耗,提高了内存的利用率,从而提高了系统存储阵列提供数据访问服务的质量。
在上述实施例的基础上:
作为一种可选地实施例,按照目标存储区域连续存储各预存储对象的顺序对目标存储对象进行编号的过程,包括:
按照目标存储区域连续存储各预存储对象的顺序,对目标存储对象进行十进制编号。
具体地,本申请按照目标存储区域连续存储各预存储对象的顺序,可对目标存储对象进行十进制编号(或可对目标存储对象进行其它进制编号,但在求取目标存储对象的起始地址时,还需将目标存储对象的编号转换为十进制编号),以便于后续更便捷求取目标存储对象的起始地址。
作为一种可选地实施例,根据起始地址和编号得到目标存储对象的内存地址的过程,包括:
根据目标存储对象的起始地址=目标存储区域的起始地址+目标存储对象的编号*目标存储对象占用的内存空间,计算目标存储对象的起始地址;其中,首次存储至目标存储区域的预存储对象的编号为0;
根据目标存储对象的终止地址=目标存储对象的起始地址+目标存储对象占用的内存空间-1,计算目标存储对象的终止地址,以得到目标存储对象的内存地址。
具体地,已知第n次存储至目标存储区域的目标存储对象的起始地址=目标存储区域的起始地址+(n-1)*存储至目标存储区域的一目标存储对象占用的内存空间,若存储至目标存储区域的目标存储对象按照十进制并从0开始编号,则目标存储对象的起始地址=目标存储区域的起始地址+目标存储对象的编号*目标存储对象占用的内存空间;若存储至目标存储区域的目标存储对象按照十进制并从1开始编号,则目标存储对象的起始地址=目标存储区域的起始地址+(目标存储对象的编号-1)*目标存储对象占用的内存空间。
为了便于计算目标存储对象的起始地址,本申请存储至目标存储区域的目标存储对象按照十进制并从0开始编号,以采用目标存储对象的起始地址=目标存储区域的起始地址+目标存储对象的编号*目标存储对象占用的内存空间的关系式,求取目标存储对象的起始地址。
此外,目标存储对象的终止地址=目标存储对象的起始地址+目标存储对象占用的内存空间-1,从而基于此关系式计算目标存储对象的终止地址,以得到目标存储对象的内存地址。由于得到目标存储对象的内存地址的计算过程极为简单快速,所以与原本直接存储目标存储对象的内存地址至目标存储区域相比,不会影响到目标存储对象的访问效率。
作为一种可选地实施例,预先按照各预存储对象占用内存空间的大小,将内存的数据存储空间划分为N个存储区域的过程,包括:
预先获取各预存储对象占用内存空间的大小,并将占用相同大小内存空间的预存储对象归类为一组,得到N组预存储对象;
将内存的数据存储空间划分为用于一一存储N组预存储对象的N个存储区域,以建立表征N组预存储对象与N个存储区域的存储关系表;
相应的,根据目标存储对象占用内存空间的大小确定其所属的目标存储区域的过程,包括:
通过查找存储关系表,找到目标存储对象所属的目标存储区域。
具体地,本申请可提前获取各预存储对象占用内存空间的大小,然后将占用相同大小内存空间的预存储对象归类为一组,以便于后续划分内存的数据存储空间。本申请假设将各预存储对象归类得到N组预存储对象,相应的,本申请将内存的数据存储空间划分为N个存储区域,以利用N个存储区域一一存储N组预存储对象,从而实现目标存储区域存储的预存储对象所占用的内存空间相同。
可以理解的是,N个存储区域一一存储N组预存储对象,相当于建立起N个存储区域与N组预存储对象的存储对应关系,本申请可建立表征此存储对应关系的存储关系表,在后续存储目标存储对象时,可直接查表找到目标存储对象所属的目标存储区域。
作为一种可选地实施例,地址标识方法还包括:
预先按照N个存储区域将存储的预存储对象的数量,将内存的地址存储空间划分为N个地址存储区域;
相应的,将目标存储对象的编号存储至内存的地址存储空间的过程,包括:
将N个存储区域所存储的预存储对象的编号一一存储至N个地址存储区域。
进一步地,本申请同样可对内存的地址存储空间划分为N个地址存储区域,以利用N个地址存储区域一一存储N个存储区域所存储的预存储对象的编号(即一地址存储区域存储的是一存储区域的地址信息—此存储区域所存储的预存储对象的编号),从而将不同存储区域的地址信息区分开,便于地址查找。可以理解的是,本申请需按照N个存储区域即将存储的预存储对象的数量划分内存的地址存储空间,以保证地址存储区域为存储区域的地址信息预留充足的存储空间。
作为一种可选地实施例,将N个存储区域所存储的预存储对象的编号一一存储至N个地址存储区域的过程,包括:
将N个存储区域所存储的预存储对象的编号,以二进制数形式的压缩格式一一存储至N个地址存储区域。
具体地,本申请可将存储区域所存储的预存储对象的编号,以二进制数形式的压缩格式对应存储至地址存储区域,二进制数形式的压缩格式可占用地址存储区域较少的存储空间。
请参照图2,图2为本发明实施例提供的一种内存中存储数据的地址标识系统的结构示意图。
该内存中存储数据的地址标识系统包括:
区域划分模块1,用于预先按照各预存储对象占用内存空间的大小,将内存的数据存储空间划分为N个存储区域;其中,同一存储区域存储的预存储对象所占用的内存空间相同;N为正整数;
对象存储模块2,用于当存储目标存储对象时,根据目标存储对象占用内存空间的大小确定其所属的目标存储区域,将目标存储对象存储至目标存储区域;其中,目标存储对象为任一预存储对象;
对象编号模块3,用于按照目标存储区域连续存储各预存储对象的顺序对目标存储对象进行编号;
地址存储模块4,用于将目标存储对象的编号存储至内存的地址存储空间,以实现根据目标存储区域的起始地址和编号得到目标存储对象的内存地址。
作为一种可选地实施例,对象编号模块3具体用于按照目标存储区域连续存储各预存储对象的顺序,对目标存储对象进行十进制编号。
作为一种可选地实施例,根据起始地址和编号得到目标存储对象的内存地址的过程,包括:
根据目标存储对象的起始地址=目标存储区域的起始地址+目标存储对象的编号*目标存储对象占用的内存空间,计算目标存储对象的起始地址;其中,首次存储至目标存储区域的预存储对象的编号为0;
根据目标存储对象的终止地址=目标存储对象的起始地址+目标存储对象占用的内存空间-1,计算目标存储对象的终止地址,以得到目标存储对象的内存地址。
本发明还提供了一种内存中存储数据的地址标识装置,包括:
存储器,用于存储计算机程序;
处理器,用于在执行计算机程序时实现上述任一种内存中存储数据的地址标识方法的步骤。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种内存中存储数据的地址标识方法,其特征在于,包括:
预先按照各预存储对象占用内存空间的大小,将内存的数据存储空间划分为N个存储区域;其中,同一存储区域存储的预存储对象所占用的内存空间相同;N为正整数;
当存储目标存储对象时,根据所述目标存储对象占用内存空间的大小确定其所属的目标存储区域;其中,所述目标存储对象为任一所述预存储对象;
将所述目标存储对象存储至所述目标存储区域,并按照所述目标存储区域连续存储各预存储对象的顺序对所述目标存储对象进行编号;
将所述目标存储对象的编号存储至所述内存的地址存储空间,以实现根据所述目标存储区域的起始地址和所述编号得到所述目标存储对象的内存地址。
2.如权利要求1所述的内存中存储数据的地址标识方法,其特征在于,所述按照所述目标存储区域连续存储各预存储对象的顺序对所述目标存储对象进行编号的过程,包括:
按照所述目标存储区域连续存储各预存储对象的顺序,对所述目标存储对象进行十进制编号。
3.如权利要求2所述的内存中存储数据的地址标识方法,其特征在于,所述根据所述起始地址和所述编号得到所述目标存储对象的内存地址的过程,包括:
根据目标存储对象的起始地址=目标存储区域的起始地址+目标存储对象的编号*目标存储对象占用的内存空间,计算所述目标存储对象的起始地址;其中,首次存储至所述目标存储区域的预存储对象的编号为0;
根据目标存储对象的终止地址=目标存储对象的起始地址+目标存储对象占用的内存空间-1,计算所述目标存储对象的终止地址,以得到所述目标存储对象的内存地址。
4.如权利要求1所述的内存中存储数据的地址标识方法,其特征在于,所述预先按照各预存储对象占用内存空间的大小,将内存的数据存储空间划分为N个存储区域的过程,包括:
预先获取各预存储对象占用内存空间的大小,并将占用相同大小内存空间的预存储对象归类为一组,得到N组预存储对象;
将内存的数据存储空间划分为用于一一存储N组所述预存储对象的N个存储区域,以建立表征N组所述预存储对象与N个所述存储区域的存储关系表;
相应的,所述根据所述目标存储对象占用内存空间的大小确定其所属的目标存储区域的过程,包括:
通过查找所述存储关系表,找到所述目标存储对象所属的目标存储区域。
5.如权利要求1所述的内存中存储数据的地址标识方法,其特征在于,所述地址标识方法还包括:
预先按照N个所述存储区域将存储的预存储对象的数量,将内存的地址存储空间划分为N个地址存储区域;
相应的,所述将所述目标存储对象的编号存储至所述内存的地址存储空间的过程,包括:
将N个所述存储区域所存储的预存储对象的编号一一存储至N个所述地址存储区域。
6.如权利要求5所述的内存中存储数据的地址标识方法,其特征在于,所述将N个所述存储区域所存储的预存储对象的编号一一存储至N个所述地址存储区域的过程,包括:
将N个所述存储区域所存储的预存储对象的编号,以二进制数形式的压缩格式一一存储至N个所述地址存储区域。
7.一种内存中存储数据的地址标识系统,其特征在于,包括:
区域划分模块,用于预先按照各预存储对象占用内存空间的大小,将内存的数据存储空间划分为N个存储区域;其中,同一存储区域存储的预存储对象所占用的内存空间相同;N为正整数;
对象存储模块,用于当存储目标存储对象时,根据所述目标存储对象占用内存空间的大小确定其所属的目标存储区域,将所述目标存储对象存储至所述目标存储区域;其中,所述目标存储对象为任一所述预存储对象;
对象编号模块,用于按照所述目标存储区域连续存储各预存储对象的顺序对所述目标存储对象进行编号;
地址存储模块,用于将所述目标存储对象的编号存储至所述内存的地址存储空间,以实现根据所述目标存储区域的起始地址和所述编号得到所述目标存储对象的内存地址。
8.如权利要求7所述的内存中存储数据的地址标识系统,其特征在于,所述对象编号模块具体用于按照所述目标存储区域连续存储各预存储对象的顺序,对所述目标存储对象进行十进制编号。
9.如权利要求8所述的内存中存储数据的地址标识系统,其特征在于,所述根据所述起始地址和所述编号得到所述目标存储对象的内存地址的过程,包括:
根据目标存储对象的起始地址=目标存储区域的起始地址+目标存储对象的编号*目标存储对象占用的内存空间,计算所述目标存储对象的起始地址;其中,首次存储至所述目标存储区域的预存储对象的编号为0;
根据目标存储对象的终止地址=目标存储对象的起始地址+目标存储对象占用的内存空间-1,计算所述目标存储对象的终止地址,以得到所述目标存储对象的内存地址。
10.一种内存中存储数据的地址标识装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于在执行所述计算机程序时实现如权利要求1-6任一项所述的内存中存储数据的地址标识方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910816507.7A CN110515860A (zh) | 2019-08-30 | 2019-08-30 | 一种内存中存储数据的地址标识方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910816507.7A CN110515860A (zh) | 2019-08-30 | 2019-08-30 | 一种内存中存储数据的地址标识方法、系统及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110515860A true CN110515860A (zh) | 2019-11-29 |
Family
ID=68629656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910816507.7A Pending CN110515860A (zh) | 2019-08-30 | 2019-08-30 | 一种内存中存储数据的地址标识方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110515860A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836095A (zh) * | 2021-09-26 | 2021-12-24 | 广州极飞科技股份有限公司 | 一种点云数据存储方法、装置、存储介质及电子设备 |
CN114063527A (zh) * | 2021-11-23 | 2022-02-18 | 中船重工海为郑州高科技有限公司 | 一种基于红外反射式传感器的位置检测装置及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3895569B2 (ja) * | 2001-09-20 | 2007-03-22 | 日本無線株式会社 | 通信データ格納アドレス取得回路 |
CN101950273A (zh) * | 2010-09-26 | 2011-01-19 | 中国人民解放军海军工程大学 | 一种dsp数据区动态管理方法 |
CN102799660A (zh) * | 2012-07-04 | 2012-11-28 | 北京中电华大电子设计有限责任公司 | 一种java卡对象管理方法 |
CN105404597A (zh) * | 2015-10-21 | 2016-03-16 | 华为技术有限公司 | 数据传输的方法、设备及系统 |
CN108762915A (zh) * | 2018-04-19 | 2018-11-06 | 上海交通大学 | 一种在gpu内存中缓存rdf数据的方法 |
-
2019
- 2019-08-30 CN CN201910816507.7A patent/CN110515860A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3895569B2 (ja) * | 2001-09-20 | 2007-03-22 | 日本無線株式会社 | 通信データ格納アドレス取得回路 |
CN101950273A (zh) * | 2010-09-26 | 2011-01-19 | 中国人民解放军海军工程大学 | 一种dsp数据区动态管理方法 |
CN102799660A (zh) * | 2012-07-04 | 2012-11-28 | 北京中电华大电子设计有限责任公司 | 一种java卡对象管理方法 |
CN105404597A (zh) * | 2015-10-21 | 2016-03-16 | 华为技术有限公司 | 数据传输的方法、设备及系统 |
CN108762915A (zh) * | 2018-04-19 | 2018-11-06 | 上海交通大学 | 一种在gpu内存中缓存rdf数据的方法 |
Non-Patent Citations (1)
Title |
---|
王庆: "面向新型非易失性存储器的内存管理系统设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836095A (zh) * | 2021-09-26 | 2021-12-24 | 广州极飞科技股份有限公司 | 一种点云数据存储方法、装置、存储介质及电子设备 |
CN114063527A (zh) * | 2021-11-23 | 2022-02-18 | 中船重工海为郑州高科技有限公司 | 一种基于红外反射式传感器的位置检测装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104750740B (zh) | 数据更新的方法及装置 | |
KR101994021B1 (ko) | 파일 조작 방법 및 장치 | |
CN104115133B (zh) | 用于复合非易失性存储设备的数据迁移的方法、系统和设备 | |
CN109445713A (zh) | 一种元数据卷的存储状态记录方法、系统及相关组件 | |
CN102298633B (zh) | 一种分布式海量数据排重方法及系统 | |
CN106383666B (zh) | 一种数据存储方法及装置 | |
CN110515860A (zh) | 一种内存中存储数据的地址标识方法、系统及装置 | |
CN103310842A (zh) | 烧录系统及烧录方法 | |
CN106383742B (zh) | 一种基于linux的IO调度方法 | |
CN101826107A (zh) | 哈希数据处理方法和装置 | |
CN108874688A (zh) | 一种报文数据缓存方法及装置 | |
CN105302830A (zh) | 一种地图瓦片缓存方法及装置 | |
CN103425435A (zh) | 磁盘存储方法及磁盘存储系统 | |
CN109240607A (zh) | 一种文件读取方法和装置 | |
CN114546295A (zh) | 一种基于zns固态硬盘的智能写分配方法和装置 | |
CN104714898B (zh) | 一种Cache的分配方法和装置 | |
CN107273310A (zh) | 一种多媒体数据的读取方法、装置、介质及设备 | |
CN111177021A (zh) | Java卡碎片管理方法及其存储装置 | |
CN107704200A (zh) | 一种数据存放方法 | |
CN110688065A (zh) | 一种存储空间管理方法、系统、电子设备及存储介质 | |
CN109213745A (zh) | 一种分布式文件存储方法、装置、处理器及存储介质 | |
CN108153494A (zh) | 一种io请求处理方法及装置 | |
CN104050189B (zh) | 页面共享处理方法及装置 | |
CN107832011A (zh) | 一种数据存储方法、装置、设备及计算机可读存储介质 | |
CN104778212B (zh) | 地图数据生成方法和装置、地图数据读取方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191129 |