CN103164340B - 对象的存储方法及装置、终端 - Google Patents
对象的存储方法及装置、终端 Download PDFInfo
- Publication number
- CN103164340B CN103164340B CN201110425513.3A CN201110425513A CN103164340B CN 103164340 B CN103164340 B CN 103164340B CN 201110425513 A CN201110425513 A CN 201110425513A CN 103164340 B CN103164340 B CN 103164340B
- Authority
- CN
- China
- Prior art keywords
- memory space
- sub
- stored
- saturation
- mark
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种对象的存储方法及装置、终端,所述对象的存储方法包括:获取第一预定容量的存储空间,设置标示所述存储空间的使用状态的标识;基于所述标识存入对象,并更新所述标识,存入同一存储空间的对象的数据结构相同;所述存储空间的使用状态为饱和时,重新获取第二预定容量的存储空间或复用已饱和的存储空间。本发明的技术方案提高了数据的运算效率,减小了数据存储及运算过程中产生的碎片。
Description
技术领域
本发明涉及数据的存储技术领域,尤其是一种对象的存储方法及装置、终端。
背景技术
系统进行数据运算时,通常先获取内存,然后将待运算的数据存储在该内存中,再进行运算,运算完成之后将该内存交还给系统,下次进行数据运算时,重新再向系统获取内存。因此在数据运算的过程中,系统需要反复分配和回收内存,十分耗时,严重影响了系统的效率。
另外,在数据的运算过程中,数据量通常是变化的,若数据量变大,则系统分配较大容量的内存进行数据运算,用完之后再交还系统;若数据量变小,则系统分配较小容量的内存进行数据运算,用完之后再交还系统。这种内存的分配方式会造成内存划分不均,浪费内存的存储空间,并且系统回收之后,大小不一的存储空间容易导致大量的内存碎片,影响内存的使用。
以地图显示为例,不同的地图需要加载不同的地图数据到内存,再进行后续的显示绘制运算。具体的地图显示技术可以参考公开号为CN 1864186A的专利申请。不同的地图其对应的地图数据的大小也不尽相同,繁华地区的地图数据相对较大,偏僻地区的地图数据相对较小。因此显示地图时,由于加载的地图数据反复变化,通常会反复获取大小不一的内存,并且反复造成碎片。这不仅影响数据的运算效率,还会造成大量的碎片,影响后续的数据的存储与运算。
因此如何提高数据的运算效率,减小数据存储及运算过程中产生的碎片,成为目前亟待解决的问题之一。
发明内容
本发明解决的问题是如何提高现有技术中数据的运算效率,减小数据存储及运算过程中产生的碎片。
为解决上述问题,本发明的技术方案提供了一种对象的存储方法,包括:
获取第一预定容量的存储空间,设置标示所述存储空间的使用状态的标识;
基于所述标识存入对象,并更新所述标识,存入同一存储空间的对象的数据结构相同;
所述存储空间的使用状态为饱和时,重新获取第二预定容量的存储空间或复用已饱和的存储空间。
为解决上述问题,本发明的技术方案还提供了一种对象的存储装置,包括:
获取单元,用以获取第一预定容量的存储空间;
操作单元,用以设置标示所述存储空间的使用状态的标识,基于所述标识存入对象,并更新所述标识,存入同一存储空间的对象的数据结构相同;
所述获取单元,还用以在所述存储空间的使用状态为饱和时,重新获取第二预定容量的存储空间;
所述操作单元,还用以在所述存储空间的使用状态为饱和时,复用已饱和的存储空间。
为解决上述问题,本发明的技术方案还提供了一种终端,包括上述对象的存储装置。
与现有技术相比,本发明具有以下优点:
获取第一预定容量的存储空间,并设置标示所述存储空间的使用状态的标识,基于该标识存入对象。这可以保证每次存入对象时,本次存入的对象是紧接着上次最后一个存储的对象存储的,对象和对象之间是连续存储的,节省了内存的存储空间。
由于该存储空间的容量较大,可以存储较多的对象,减少了系统分配内存的次数,不仅提高了系统的效率,并且大块的存储空间可以减小碎片的产生几率。
将所述对象存入所述存储空间之前,将所述存储空间划分为子存储空间,所述对象存入一个或至少两个连续的子存储空间。将大的存储空间细分为小的存储空间,可以进一步的提高存储空间的利用率。
获取的存储空间处于饱和时,可以复用已饱和的存储空间,不需要将该存储空间交还给系统。由于对象的数据结构相同,因此存储空间处于饱和时,新存入的对象可以覆盖无效的对象,并且数据运算过程中产生的新数据可以覆盖旧数据。这种复用方式减少了存储空间分配和回收的操作,提高了存储空间的利用率,提高了数据运算的效率。
获取的存储空间处于饱和时,也可以再次获取新的存储空间。若饱和的存储空间中存储的对象均为有效的对象,才会再次获取新的存储空间,减少了系统分配内存的次数,并且提高了系统的运行效率。这样不仅保护已存储的对象不会被覆盖,避免数据丢失,而且新获取的存储空间可以存储更多的对象。
附图说明
图1为本发明实施例提供的对象的存储方法的流程图;
图2至图11为本发明实施例提供的地图对象在内存中存储的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施方式的限制。
图1为本发明实施例提供的对象的存储方法的流程图,下面结合图1详细说明。
步骤S1,获取第一预定容量的存储空间,设置标示所述存储空间的使用状态的标识;
步骤S2,基于所述标识存入对象,并更新所述标识,存入同一存储空间的对象的数据结构相同;
步骤S3,所述存储空间的使用状态为饱和时,重新获取第二预定容量的存储空间或复用已饱和的存储空间。
所述步骤S1中,获取第一预定容量的存储空间,可以是获取内存的存储空间。通常标示所述存储空间的使用状态的标识设置在已用空间的结束位置或可用空间的开始位置。所述第一预定容量基于所述对象的大小、数目、数据结构中的一种或几种的组合确定。所述第一预定容量的存储空间一般为大块的存储空间,可以存储较多的对象。
所述步骤S2中,基于所述标识存入对象,并在存储完对象之后,更新所述标识,存入同一存储空间的对象的数据结构相同。所述对象可以为地图数据中的点的位置坐标,或者所述地图数据中的点的位置坐标对应的屏幕坐标,或者两者皆有。地图数据中的点的位置坐标或点屏幕坐标的数据结构通常为(x,y)或(x,y,z),x表示横坐标轴,y表示纵坐标轴,z表示垂直与x轴与y轴组成的平面的坐标轴。所述对象的数据还可以是结构体、枚举类型等其他类型的数据结构。
这可以保证每次存入对象时,本次存入的对象是紧接着上次最后一个存储的对象存储的,对象和对象之间是连续存储的,没有间隙,减小了碎片的产生几率。
将所述对象存入所述存储空间之前,将所述存储空间划分为子存储空间,所述对象存入一个或至少两个连续的子存储空间,所述标识设置在最后一个已存入对象的子存储空间或第一个未存入对象的子存储空间。
将大的存储空间细分为小的子存储空间,所述对象可以以子存储空间为单位存入所述存储空间。小的子存储空间可以更精细的计算大的存储空间的已用空间和未用空间,提高存储空间的利用率,防止存储空间的浪费,并且将标识设置在最后一个已存入对象的子存储空间或第一个未存入对象的子存储空间,方便存入下一个对象。
所述步骤S3中,若获取的存储空间的使用状态处于饱和状态时,可以复用已饱和的存储空间,也可以重新获取第二预定容量的存储空间。所述第二预定容量基于所述对象的大小、数目、数据结构中的一种或几种的组合确定。所述第一预定容量和所述第二预定容量可以是相同的,也可以是不同的。对于地图数据(也称为地图对象)来讲,所述第一预定容量和第二预定容量为一次加载的地图数据的容量的至少两倍。
具体实施时,可以是所述存储空间的使用状态为饱和时,若所述已饱和的存储空间中存储的对象为无效的对象,则复用已饱和的存储空间。若所述已饱和的存储空间中存储的对象为有效的对象,则重新获取第二预定容量的存储空间。
由于对象的数据结构相同,因此存储空间处于饱和时,新存入的对象可以覆盖无效的对象,并且数据运算过程中产生的新数据可以覆盖旧数据。这种复用方式减少了存储空间分配和回收的操作,提高了存储空间的利用率,提高了数据运算的效率。
若饱和的存储空间中存储的对象均为有效的对象,可以再次获取新的存储空间。这样不仅保护已存储的对象不会被覆盖,避免数据丢失,而且新获取的存储空间可以存储更多的对象。
所述无效的对象表示存储在该饱和的存储空间中,但是已没有使用价值的对象,例如,已经经过运算的对象,长时间不使用的对象或者经过运算之后获得中间数据或临时数据等。所述有效的对象表示存储在该饱和的存储空间中,还具有使用价值的对象,例如,还未经过运算的对象,需要进行二次或多次运算的对象等。具体实施时,以具体情况为准。
所述存储空间的使用状态为饱和的情况有多种,例如,所述存储空间全部被使用,可用空间为0或者剩余的可用空间的大小小于下一个待存储的对象的大小等。具体实施时,以具体情况为准。
图2至图4为本发明实施例提供的地图对象在内存中存储的示意图,下面结合图2至图4详细说明。
地图是通过点、线、面来绘制的,例如,兴趣点等是以不同大小的点或圆来绘制的,道路、河流等是以不同宽度的线条绘制的,公园、绿地等是以不同形状、不同大小的面来绘制的。
从几何的角度来讲,点是组成图形的基本元素;线可以看成是由多个点组成的;面可以看成是由多条线组成的,而线是由点组成的,面也是由点组成的。在绘制地图时,通常是一个点一个点的绘制地图。
在显示地图时,通常是将地图数据库中地图数据(也称为地图对象或地图对象的集合)加载至内存的存储空间中,再对该地图数据进行运算得到适于在屏幕中绘制的绘图数据(也称为绘图对象或绘图对象的集合),基于该绘图数据绘制地图中的内容并显示在屏幕中。
地图数据中保存的数据通常是点、线、面等数据,该数据通常是实际的地理位置的点坐标(例如,经纬度坐标)或地理位置的点坐标的集合,且每一个地理位置的点坐标的数据结构均相同为(x,y)或(x,y,z)。在显示地图之前,需要将上述地理位置的点的坐标或地理位置的点的坐标的集合转化为屏幕(例如,显示屏)的点坐标或屏幕的点坐标的集合。地理位置的点坐标和屏幕的点坐标都可以称为地图对象,也可以简称对象。
现有技术中,每次从地图数据库中加载的地图数据时,根据本次加载的地图数据的大小,获取内存的存储空间,并存入本次加载的地图数据,使用完之后,再将该内存的存储空间交还给系统,下次在加载地图数据时,再向系统获取内存的存储空间。因此在地图数据的加载过程中,系统需要反复分配和回收内存,十分耗时,严重影响了系统的效率,由于每次加载的地图数据有大有小,这种方式还会造成大量的内存碎片,影响内存的使用。
图2为本发明实施例提供的内存的存储空间的结构图,从地图数据库中加载的地图数据(地图对象或地图对象的集合)是存放在预先获取的一块存储空间10中的,存储空间10的大小可以根据一次待存储的地图对象的大小、数目、数据结构等确定。地图对象的数据结构通常决定地图对象的大小,例如,数据结构复杂的地图对象较大,数据结构简单的地图对象较小。
存储空间10的容量可以是加载一次地图所需容量的至少2倍,本实施例中,存储空间10的大小可以是地图对象的大小乘以地图对象的数目得到的结果(加载一次地图的地图对象的总数据量)的2~4倍。从系统获取较大容量的存储空间(大块的内存),可以便于后续的数据存储,减少系统分配和回收内存的次数。
存储空间10划分成100个等大的子存储空间,分别是子存储空间101,子存储空间102,子存储空间103,子存储空间104,子存储空间105,子存储空间106,子存储空间107,子存储空间108,子存储空间109,子存储空间110,子存储空间111,子存储空间112,子存储空间113,子存储空间114,子存储空间115,......,子存储空间191,子存储空间192,子存储空间193,子存储空间194,子存储空间195,子存储空间196,子存储空间197,子存储空间198,子存储空间199,依次顺序编号至子存储空间200。将存储空间10划分为子存储空间时,通常根据地图对象的数据结构、数目、大小等确定子存储空间的大小。数据结构简单的地图对象较小,通常一个地图对象占用一个子存储空间,每个子存储空间的大小等于或略大于地图对象的大小;数据结构复杂的地图对象较大,可以将该地图对象拆分成几个小的地图对象,一个小的地图对象存储在一个子存储空间,此时划分的子存储空间的大小等于或略大于地图对象拆分之后的小的地图对象的大小。本实施例中存储放入的是数据结构为点坐标的地图对象,一个点坐标的地图对象占用四个子存储空间。
存储在同一存储空间10中的地图对象的数据结构相同,因此每个地图对象的拆分方式也相同,拆分的小的地图对象的个数也相同。具体实施时,地图对象的拆分方式也可以不相同,拆分的小的地图对象的个数也可以不相同,不限于本实施例的内容。
图2所示的存储空间10中还未存储地图对象,因此用以标示所述存储空间的使用状态的标识20设置在第一个子存储空间101,地图对象(通常为点坐标)可以依据标识20顺次存放在子存储空间中。在具体实施时,标识20通常为指针,设置在最后一个已存入地图对象的子存储空间或第一个未存入地图对象的子存储空间。由于图2中所示的存储空间10还未使用,因此标识20通常设置在第一个未存入地图对象的子存储空间,即图2中的子存储空间101。
图2中仅是以示意的形式将存储空间10划分为若干子存储空间,因此省略了部分子存储空间。在具体实施时,子存储空间的大小可以不相同,且子存储空间的数目也不限于本实施例中的数目,编号方式也不限于本实施例中的方式,甚至还可以不编号。
图3为图2所示的存储空间存入对象的示意图。图2为未存入地图对象的存储空间10,标识20设于子存储空间101,依据标识20所在的位置,存入地图对象,从子存储空间开始顺次存入地图对象。点坐标的地图对象占用四个子存储空间,从子存储空间101开始顺序存储,图3为存入一个点坐标的地图对象之后的存储空间的示意图。
参考图3,本实施例中,标识20已经更新到子存储空间104,标示子存储空间104为最后一个已存入地图对象的子存储空间。其他实施例中,标识20还可以设置在子存储空间105,标示第一个未存入地图对象的子存储空间。标识20主要是为了标示存储空间10的使用状态,具体实施时,标识20的位置可以根据需要设置,不限于上述举例。
存储存储空间10的地图对象的数据结构均为相同的,本实施例中,均为点坐标的地图对象。基于标识20存入地图对象,并更新标识20。由于每次加载的地图数据不尽相同,且每次加载的地图数据的大小也不固定,存储空间10的容量有限且不能更改,因此经常出现存储空间10已经饱和,但是还有地图对象未存储在存储空间10中。
存储空间10的使用状态为饱和时,可以复用已饱和的存储空间10,也可以重新获取新的存储空间。
具体实施时,饱和的存储空间10中,已存储的地图对象为无效的对象,也就是该地图对象已经废弃或者不再使用了。例如,已存储的地图对象为加载过的地图数据,不需要再次使用的,待存储的地图对象为新加载的地图数据。此时可以将待存储的地图对象存入该旧的地图对象所占据的子存储空间,以新的地图对象覆盖旧的地图对象。这可以提高存储空间10的利用率,并减少系统分配和回收存储空间10的次数,提高效率。
饱和的存储空间10中,已存储的地图对象为有效的对象,也就是说,存储在存储空间10中的地图对象还在使用中,或者还未使用。例如,本次加载的地图为繁华区域的地图,地图数据较大,存储空间10容量不够。此时可以重新获取新的存储空间,以补充旧的存储空间10的容量不足。这不仅可以补充旧的存储空间10的容量不足,还可以保证已存储的数据不被破坏。
图4为图3所示的存储空间饱和时的示意图,此时存储空间10的全部子存储空间都已存储了地图对象,没有剩余可用的子存储空间存储后续的地图对象。此时标识20设于最后一个已存入地图对象的子存储空间,即子存储空间200。
存储空间10使用状态未饱和的情况有多种,图4为其中一种,在其他实施例中,还有可能是图5所示的情况。存储空间10的子存储空间101至子存储空间198均已存入了地图对象,还剩余子存储空间199和子存储空间200还未存入地图对象,标识20设于子存储空间198。此时下一个待存储的地图对象为点坐标的地图对象,需要占用四个子存储空间,目前只有两个子存储空间可用,不够下一个地图对象的存储,则此时也可以认定存储空间10饱和。具体实施时,存储空间10的使用状态为饱和的情况有多种,不限于上述举例范围。
图6为图4所示的存储空间饱和时存储空间复用的示意图,图4所示的标识20位于最后一个已存入地图对象的子存储空间200,此时存储空间10已饱和,下一个待存储的地图对象为点坐标的地图对象,需要占用四个子存储空间,则从存储空间10的第一个子存储空间101开始复用,将所述下一个待存储的地图对象顺序存入子存储空间101至子存储空间104,并重新设置标识20于子存储空间104,如图6所示。
图7为图5所示的存储空间饱和时存储空间复用的示意图,图5所示的存储空间10的子存储空间101至子存储空间198均已存入了地图对象,还剩余子存储空间199和子存储空间200还未存入地图对象,标识20设于子存储空间198。由于下一个待存储的地图对象需占用四个子存储空间,目前仅剩余两个可用的子存储空间,因此,此时可以认定存储空间10已饱和。
采用复用已饱和的存储空间10的方式存储下一个待存储的地图对象时,基于图5中标识20所在的位置,从子存储空间199开始存储。将所述下一个待存储的地图对象顺序存入子存储空间199和子存储空间200。此时存储空间10的全部子存储空间均已存入地图对象,则从存储空间10的第一个子存储空间101开始复用,以新的地图对象覆盖旧的地图对象,并重新更新标识20的位置于子存储空间102,如图7所示。
图8为图5所示的存储空间饱和时存储空间复用的另一示意图。图5所示的存储空间10还剩余子存储空间199和子存储空间200未使用,在存储下一个地图对象时,废弃子存储空间199和子存储空间200,直接从存储空间10的第一个子存储空间101开始复用,顺序存入下一个地图对象,并重新设置标识20的位置于子存储空间104,如图8所示。
图7所示的复用方式可以节省存储的空间,图8所示的复用方式可以保持地图对象的连贯性,具体实施时可以根据实际情况做适应性修改,不限于上述内容。
图4和图5所示的存储空间饱和时,还可以重新获取新的存储空间来存储后续的地图对象。
图9为图4所示的存储空间饱和时重新获取新的存储空间的示意图,如图9所示,存储空间10饱和时,可以重新获取新的存储空间11,将下一个地图对象存入存储空间11中。
存储空间11与存储空间10的操作过程基本相似,将存储空间11划分成100个子存储空间依次是子存储空间201,子存储空间202,子存储空间203,子存储空间204,子存储空间205,子存储空间206,子存储空间207,子存储空间208,子存储空间209,子存储空间210,子存储空间211,子存储空间212,子存储空间213,子存储空间214,子存储空间215,......,子存储空间291,子存储空间292,子存储空间293,子存储空间294,子存储空间295,子存储空间296,子存储空间297,子存储空间298,子存储空间299,子存储空间300,并在第一个子存储空间201设置新的标识21(图中未显示),用以标识存储空间11的使用状态。具体的操作过程可参考前述内容,此处不再赘述。
存储空间11与存储空间10的大小可以相同也可以不同,具体实施时,存储空间11的容量可以根据后续待存储的地图对象的数据结构、数目、大小确定。存储空间11中存储的对象的数据结构通常与存储空间10存储的对象的数据结构是相同的(如本实施例所示),根据实际情况也可以不同,不限于本实施例的内容。
存储下一个地图对象时,由于存储空间10的全部子存储空间均已被使用,将标识20设置在存储空间10的最后一个子存储空间200,并保存该标识20。根据存储空间11中的标识21,将下一个地图对象从存储空间11的第一个子存储空间201开始顺序存储,并更新标识21于存储空间11的子存储空间204,最终的结果如图9所示。
图10为图5所示的存储空间饱和时重新获取新的存储空间的示意图,图5所示的存储空间10的子存储空间101至子存储空间198均已存入了地图对象,还剩余子存储空间199和子存储空间200还未存入地图对象,标识20设于子存储空间198。获取如图9中所示的存储空间11后,可以先根据标识20将部分下一个地图对象存入存储空间10的子存储空间199和子存储空间200,重新设置标识20于存储空间10的子存储空间200,并保存标识20;然后根据标识21将剩余的部分下一个地图对象,存入存储空间11的子存储空间201和子存储空间202,重新设置标识21于存储空间11的子存储空间202。最终的存储结构如图10所示。
图11为图5所示的存储空间饱和时重新获取新的存储空间的示意图,图5所示的存储空间10还剩余子存储空间199和子存储空间200未使用,在存储下一个地图对象时,可以保存标识20,废弃子存储空间199和子存储空间200,根据标识21直接从存储空间11的第一个子存储空间201开始存储,顺序存入下一个地图对象,并重新设置标识21的位置于子存储空间204,如图11所示。
图10所示的存储方式可以节省存储的空间,图11所示的存储方式可以保持地图对象的连贯性,具体实施时可以根据实际情况做适应性修改,不限于上述内容。
本发明的技术方案还提供了一种对象的存储装置包括:
获取单元,用以获取第一预定容量的存储空间;
操作单元,用以设置标示所述存储空间的使用状态的标识,所述标识可以设置在已用空间的结束位置或可用空间的开始位置;基于所述标识存入对象,并更新所述标识,存入同一存储空间的对象的数据结构相同;操作单元与获取单元相连;
获取单元,还用以在所述存储空间的使用状态为饱和时,重新获取第二预定容量的存储空间;在所述存储空间的使用状态为饱和时,若所述已饱和的存储空间中存储的对象为有效的对象,获取单元重新获取第二预定容量的存储空间;
操作单元,还用以在所述存储空间的使用状态为饱和时,复用已饱和的存储空间;在所述存储空间的使用状态为饱和时,若所述已饱和的存储空间中存储的对象为无效的对象,操作单元复用已饱和的存储空间。
具体的,所述对象可以为地图数据中的点的位置坐标和/或所述地图数据中的点的位置坐标对应的屏幕坐标。所述第一预定容量和第二预定容量基于所述对象的大小、数目、数据结构中的一种或几种的组合确定。对于地图数据(地图对象)来讲,所述第一预定容量和第二预定容量为一次加载的地图数据的容量的至少两倍。
所述对象的存储装置还包括:
划分单元,用以在所述操作单元将所述对象存入所述存储空间之前,将所述存储空间划分为子存储空间,划分单元与获取单元相连;操作单元将所述对象存入一个或至少两个连续的子存储空间,所述标识设置在最后一个已存入对象的子存储空间或第一个未存入对象的子存储空间。
所述对象的存储装置通常集成在终端中,所述终端可以是车载系统、手机、笔记本电脑、台式电脑、平板电脑中的一种。
本发明的技术方案至少具有以下有益效果:
获取第一预定容量的存储空间,并设置标示所述存储空间的使用状态的标识,基于该标识存入对象。这可以保证每次存入对象时,本次存入的对象是紧接着上次最后一个存储的对象存储的,对象和对象之间是连续存储的,节省了内存的存储空间。
由于该存储空间的容量较大,可以存储较多的对象,减少了系统分配内存的次数,不仅提高了系统的效率,并且大块的存储空间可以减小了碎片的产生几率。
获取的存储空间处于饱和时,可以复用已饱和的存储空间,不需要将该存储空间交还给系统。由于对象的数据结构相同,因此存储空间处于饱和时,新存入的对象可以覆盖无效的对象,并且数据运算过程中产生的新数据可以覆盖旧数据。这种复用方式减少了存储空间分配和回收的操作,提高了存储空间的利用率,提高了数据运算的效率。
获取的存储空间处于饱和时,也可以再次获取新的存储空间。若饱和的存储空间中存储的对象均为有效的对象,才会再次获取新的存储空间,减少了系统分配内存的次数,并且提高了系统的运行效率。这样不仅保护已存储的对象不会被覆盖,避免数据丢失,而且新获取的存储空间可以存储更多的对象。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (12)
1.一种对象的存储方法,其特征在于,包括:
获取第一预定容量的存储空间,设置标示所述存储空间的使用状态的标识;
基于所述标识存入对象,并更新所述标识,存入同一存储空间的对象的数据结构相同;
所述存储空间的使用状态为饱和时,重新获取第二预定容量的存储空间或复用已饱和的存储空间;其中,所述第一预定容量和第二预定容量基于所述对象的大小、数目、数据结构中的一种或几种的组合确定;所述第一预定容量的存储空间可以存储多个对象;
其中,还包括:将所述对象存入所述存储空间之前,将所述存储空间划分为子存储空间;
所述对象存入一个或至少两个连续的子存储空间,所述标识设置在最后一个已存入对象的子存储空间或第一个未存入对象的子存储空间。
2.如权利要求1所述的对象的存储方法,其特征在于,所述对象为地图数据中的点的位置坐标和/或所述地图数据中的点的位置坐标对应的屏幕坐标,所述第一预定容量和第二预定容量均为一次加载的地图数据的容量的至少两倍。
3.如权利要求1所述的对象的存储方法,其特征在于,所述标识设置在已用空间的结束位置或可用空间的开始位置。
4.如权利要求1所述的对象的存储方法,其特征在于,所述存储空间的使用状态为饱和时,若所述已饱和的存储空间中存储的对象为无效的对象,则复用已饱和的存储空间。
5.如权利要求1所述的对象的存储方法,其特征在于,所述存储空间的使用状态为饱和时,若所述已饱和的存储空间中存储的对象为有效的对象,则重新获取第二预定容量的存储空间。
6.一种对象的存储装置,其特征在于,包括:
获取单元,用以获取第一预定容量的存储空间;
操作单元,用以设置标示所述存储空间的使用状态的标识,基于所述标识存入对象,并更新所述标识,存入同一存储空间的对象的数据结构相同;
所述获取单元,还用以在所述存储空间的使用状态为饱和时,重新获取第二预定容量的存储空间;其中,所述第一预定容量和第二预定容量基于所述对象的大小、数目、数据结构中的一种或几种的组合确定;所述第一预定容量的存储空间可以存储多个对象;
所述操作单元,还用以在所述存储空间的使用状态为饱和时,复用已饱和的存储空间;
划分单元,用以在所述操作单元将所述对象存入所述存储空间之前,将所述存储空间划分为子存储空间,所述操作单元将所述对象存入一个或至少两个连续的子存储空间,所述标识设置在最后一个已存入对象的子存储空间或第一个未存入对象的子存储空间。
7.如权利要求6所述的对象的存储装置,其特征在于,所述对象为地图数据中的点的位置坐标和/或所述地图数据中的点的位置坐标对应的屏幕坐标,所述第一预定容量和第二预定容量均为一次加载的地图数据的容量的至少两倍。
8.如权利要求6所述的对象的存储装置,其特征在于,所述操作单元将所述标识设置在已用空间的结束位置或可用空间的开始位置。
9.如权利要求6所述的对象的存储装置,其特征在于,在所述存储空间的使用状态为饱和时,若所述已饱和的存储空间中存储的对象为无效的对象,所述操作单元复用已饱和的存储空间。
10.如权利要求6所述的对象的存储装置,其特征在于,在所述存储空间的使用状态为饱和时,若所述已饱和的存储空间中存储的对象为有效的对象,所述获取单元重新获取第二预定容量的存储空间。
11.一种终端,其特征在于,包括如权利要求6至10任一项所述的对象的存储装置。
12.如权利要求11所述的终端,其特征在于,所述终端为车载系统、手机、笔记本电脑、台式电脑、平板电脑中的一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110425513.3A CN103164340B (zh) | 2011-12-16 | 2011-12-16 | 对象的存储方法及装置、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110425513.3A CN103164340B (zh) | 2011-12-16 | 2011-12-16 | 对象的存储方法及装置、终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103164340A CN103164340A (zh) | 2013-06-19 |
CN103164340B true CN103164340B (zh) | 2017-07-18 |
Family
ID=48587445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110425513.3A Active CN103164340B (zh) | 2011-12-16 | 2011-12-16 | 对象的存储方法及装置、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103164340B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103927264B (zh) * | 2014-05-12 | 2016-08-24 | 中国航空无线电电子研究所 | 一种机载数字地图软件地图数据运行内存空间的分配方法 |
CN106446111B (zh) * | 2016-09-14 | 2020-01-14 | Oppo广东移动通信有限公司 | 一种数据迁移的方法及终端 |
CN113495889B (zh) * | 2021-07-07 | 2024-03-15 | 浙江大华技术股份有限公司 | 一种分布式对象存储方法、装置、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013397A (zh) * | 2007-02-08 | 2007-08-08 | 深圳万利达电子工业有限公司 | 一种nandflash文件系统实现方法 |
-
2011
- 2011-12-16 CN CN201110425513.3A patent/CN103164340B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013397A (zh) * | 2007-02-08 | 2007-08-08 | 深圳万利达电子工业有限公司 | 一种nandflash文件系统实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103164340A (zh) | 2013-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103412962B (zh) | 一种海量瓦片数据的存储方法及读取方法 | |
CN106570917A (zh) | 车辆需求热力图生成方法和装置 | |
CN103177417B (zh) | 基于GPGPU的数学形态学LiDAR点云快速滤波方法 | |
CN106484693A (zh) | 地图显示方法、图片块存储方法以及图片显示终端 | |
CN107632791A (zh) | 一种存储空间的分配方法及系统 | |
CN103455443B (zh) | 一种缓存管理方法和装置 | |
CN103164340B (zh) | 对象的存储方法及装置、终端 | |
CN107577436A (zh) | 一种数据存储方法及装置 | |
CN102012232B (zh) | 一种更新车载导航系统地图数据的方法 | |
CN106406762A (zh) | 一种重复数据删除方法及装置 | |
CN110069557A (zh) | 数据传输方法、装置、设备及存储介质 | |
CN108399460A (zh) | 网络约车订单分配处理方法及服务器 | |
CN105760112B (zh) | 延长存储器使用时间的数据存储方法、读取方法及系统 | |
CN107515788A (zh) | 一种内存分配的方法及装置 | |
CN106294484A (zh) | 一种更新电子地图数据的方法及装置 | |
CN105718319B (zh) | 一种内存池版图解析方法和内存池装置 | |
JP2001052149A5 (zh) | ||
CN102253985A (zh) | 一种文件系统数据的管理方法及系统 | |
CN104636260B (zh) | 一种用于计费业务的数据管理方法及系统 | |
CN107423912A (zh) | 一种基于人员变动网格动态划分的方法和系统 | |
CN108986034B (zh) | 一种栅格数据坐标转换方法、系统、终端设备及存储介质 | |
CN103514098B (zh) | 用于回收存储空间的方法和系统 | |
CN103379201B (zh) | 一种动态显示终端界面的应用的终端及方法 | |
CN103063219B (zh) | 一种导航电子地图预处理及显示方法 | |
CN106202175B (zh) | 面向大图分割的分布式动态图管理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200511 Address after: 430056 No. 1 Dongfeng Avenue, Wuhan economic and Technological Development Zone, Hubei, Wuhan Patentee after: DONGFENG MOTOR Corp. Address before: 200030 Shanghai City, Xuhui District Tianyaoqiao Road No. 30 Metro Building 23 building 2302-2307 room Patentee before: SHANGHAI PATEO YUEZHEN ELECTRONIC EQUIPMENT MANUFACTURING Co.,Ltd. |