数据存储方法技术

技术编号:9668044 阅读:66 留言:0更新日期:2014-02-14 06:36
本发明专利技术提供了一种数据存储方法,其包括:第一数据存储步骤,对要存储的数据分配内存空间进行存储;第二数据存储步骤,对已存储的零散数据进行内存整合,将具有相同数据类型的数据存储在同一连续内存空间内;和公共数据索引设置步骤,将存储在同一连续内存空间内的所有数据的数据索引提取出并设置在该连续内存空间的头部,作为该连续内存空间内所有数据的公共数据索引。根据本发明专利技术的方法,能够高效利用内存空间,显著提高数据压缩率。

【技术实现步骤摘要】

本专利技术属于数据存储领域,涉及一种能够高效利用内存空间的,尤 其适用于云计算领域的信息处理设备或方法。
技术介绍
在计算机中存储数据时,存储数据的不连续性虽然会使小块内存的利用率变高, 但同时也存在一些弊端,例如当在内存区内存储数据时,由于需要对每个内存进行数据标 记,会导致内存的额外浪费。对于这种情况,现有技术中提出了一种解决方案,对数据的临 时文件进行定时整合,设置整合区;当需要建立文件时,可以在用户独立空间内先生成文 件,在系统不繁忙时对文件类型进行连续性内存整合,然后将整合后的内存头标记为同一 文件类型。当用户查找数据时,如果数据索引是连续数据区,则直接根据数据需求进行逐一 查找。由此能够减少数据头,通过一个统一数据头进入链表遍历流程,从而实现数据压缩的 目的,减少数据报文在内存中的体积。上述现有技术中存在如下问题:由于每个数据块都需要一个数据标记索引头,而 每个数据是不连续的,因此当一个位置的数据释放时,如果该被释放的空间不够容纳下一 个数据所申请的空间大小,那么这个空间就会变成数据碎片,导致无法利用。现有技术中只 能通过增加物理内存大小来解决,导致成本增加,浪费空间,操作繁琐。
技术实现思路
本专利技术鉴于上述情况作出,其目的是提供一种高效利用内存空间的数据整合方 法。根据本专利技术的,所述方法包括:第一数据存储步骤,对要存储的数据 分配内存空间进行存储;第二数据存储步骤,对已存储的零散数据进行内存整合,将具有相 同数据类型的数据存储在同一连续内存空间内;和公共数据索引设置步骤,将存储在同一 连续内存空间内的所有数据的数据索引提取出并设置在该连续内存空间的头部,作为该连 续内存空间内所有数据的公共数据索引。其中,所述第二数据存储步骤还包括:零散数据查找步骤,在内存中查找非连续存 储的数据;零散数据类型判断步骤,判断零散数据是否属于同一数据类型,如果是,则进入 下述数据整合步骤,如果否,则继续判断下一个零散数据是否属于同一数据类型;以及数据 整合步骤,将属于同一数据类型的数据存储在同一个连续内存空间内。其中,所述第一数据存储步骤还包括:在所分配的内存空间中预留一头空间,该头 空间用于存储所述数据的数据索引。优选的,所述数据索引包括数据的数据信息公共部分,该数据信息公共部分至少 包含数据类型信息。可选的,所述零散数据查找步骤还包括:获取每个零散数据的数据类型。优选的,所述公共数据索引至少包含所述连续内存空间内所有存储数据的数据类型。可选的,所述第二数据存储步骤在CPU使用率不高时执行,或者以定时方式执行。可选的,所述公共数据索引设置步骤执行完之后返回第二数据存储步骤,基于其 他数据类型执行该第二数据存储步骤。根据上述本专利技术的,通过将数据类型相同的数据进行整合,从而减 小数据索引空间。进一步,通过定时整合数据来提高内存利用率,并且通过减少数据索引空 间后可达到一定的数据压缩目的。【附图说明】图1是现有技术中内存空间的数据整合方法的示意图;图2a和图2b显示了本专利技术第一实施方式的的原理示意图;图3显示了根据本专利技术第一实施方式的数据处理设备的的流程示 意图。【具体实施方式】为使本专利技术的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参 照附图,对本专利技术进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发 明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本 专利技术的概念。图1是现有技术中内存空间的数据整合方法的示意图。如图1所示,现有技术中,计算机对临时文件的数据进行定时整合,并设置整合 区。当需要建立文件时,可以首先在用户独立空间生成文件,然后在系统不繁忙时对文件类 型进行连续性内存整合,将整合后的内存头标记为同一文件类型。当用户查找数据时,如果 数据索引是连续数据区,则直接根据数据需求进行逐一查找。现有技术的数据存储方式中,每个数据块都需要一个数据标记索引头,如图1所 示,分别对数据块abc分配索引头a,对数据块igo分配索引头i,对数据块zjf分配索引头 f,对数据块hge分配索引头h。由于各个数据块是不连续的,当某个位置的数据释放时,如 果该被释放的空间小于下一个数据所申请的空间大小,导致不能存储下一个数据,那么这 个被释放的空间就会变成数据碎片,无法利用。图2a和图2b显示了本专利技术第一实施方式的的原理示意图。本专利技术的中,在数据处理设备的cpu (中央处理器)使用率不高时, 对内存中的零散数据进行整合,从而能高效利用数据处理设备的内存空间。在图2a中,将同属于第一数据类型的数据abc,eal, ajf放在第一连续内存空间 内,分别建立相应的文件1、文件2和文件3。然后,将数据abc,eal,ajf的数据信息中的公 共部分a提取出来,将其作为数据索引放在该第一连续内存空间的头部,即图2a中的头I。在图2b中,将同属于第二数据类型的数据hge、igo、和gnz放在第二连续内存空 间内,分别建立相应的文件4、文件5和文件6,将这些数据信息中的公共部分g提取出来, 将其作为数据索引放在该第二连续内存空间的头部,即图2b中的头2。当用户需要检索数据abc时,首先发现其中的数据索引a在图2a所示的第一连续内存空间的头部,则只需要对第一连续内存空间的头I后面的数据进行查找,检索到数据 abc后对其进行读取。类似的,当用户需要检索数据igo时,首先会发现该数据中的数据索 引g在图2b所示的第二连续内存空间的头部,则只需要对第二连续内存空间的头2后面的 数据进行查找,检索到数据igo后对其进行读取。如上所述,在本专利技术的中,当用户申请数据存储空间时,系统给数据 分配一个完整的数据空间,此空间预留一个头空间以用来存储数据的数据索引,数据索引 通常包含数据的公共部分数据信息,例如数据类型以及数据类型之外的其他特征,本专利技术 中仅以数据类型为例进行说明,但不限制于此。当cpu使用率不高时,数据处理设备会对内存内的零散数据进行整合,将相同数 据类型的数据放在同一个连续内存空间内,并将数据信息中的公共部分提取出来放在该连 续内存空间的头部以作为数据的数据索引。当用户需要检索数据时,会首先在某个连续内 存空间找到该数据的数据索引,然后就可以在该连续内存空间内对目标数据进行查找,找 到该数据后对需要的数据进行读取。下面对本专利技术的的具体步骤进行说明。图3显示了根据本专利技术第一实施方式的数据处理设备的的流程示 意图。如图3所示,本专利技术第一实施方式的数据处理设备的包括下述步 骤:步骤SI,给数据分配内存空间。当用户需要存储数据并申请数据空间时,首先在数 据处理设备的内存中给需要存储的数据分配一个内存空间。优选的,可以在该内存空间中 预留一个头空间,该头空间用于存储上述数据的数据索引,数据索引通常包括数据的数据 信息公共部分,该数据信息公共部分至少包含数据类型信息,用于标识数据的类型。步骤S2,查找零散数据。在内存中查找以零散状态(非连续状态)存储在内存区域 中的数据,优选的,查找到零散数据后会获取每个数据的数据类型。如步骤SI中所述,可以 在每个数据所在内存空间的头空间内获取数据索引,从数据索引中获取数据类型信息。步骤S3,对零散数据进行类型判断。对查找到每个零散数据进行本文档来自技高网...

【技术保护点】
一种数据存储方法,所述方法包括:第一数据存储步骤,对要存储的数据分配内存空间进行存储;第二数据存储步骤,对已存储的零散数据进行内存整合,将具有相同数据类型的数据存储在同一连续内存空间内;和公共数据索引设置步骤,将存储在同一连续内存空间内的所有数据的数据索引提取出并设置在该连续内存空间的头部,作为该连续内存空间内所有数据的公共数据索引。

【技术特征摘要】
1.一种数据存储方法,所述方法包括:第一数据存储步骤,对要存储的数据分配内存空间进行存储;第二数据存储步骤,对已存储的零散数据进行内存整合,将具有相同数据类型的数据 存储在同一连续内存空间内;和公共数据索引设置步骤,将存储在同一连续内存空间内的所有数据的数据索引提取出 并设置在该连续内存空间的头部,作为该连续内存空间内所有数据的公共数据索引。2.根据权利要求1所述的数据存储方法,所述第二数据存储步骤还包括:零散数据查找步骤,在内存中查找非连续存储的数据;零散数据类型判断步骤,判断零散数据是否属于同一数据类型,如果是,则进入下述数 据整合步骤,如果否,则继续判断下一个零散数据是否属于同一数据类型;以及数据整合步骤,将属于同一数据类型的数据存储在同一个连续内存空间内。3.根据权利要求1所...

【专利技术属性】
技术研发人员:康暖
申请(专利权)人:汉柏科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1