CN103577553A - 数据存储方法 - Google Patents
数据存储方法 Download PDFInfo
- Publication number
- CN103577553A CN103577553A CN201310490558.8A CN201310490558A CN103577553A CN 103577553 A CN103577553 A CN 103577553A CN 201310490558 A CN201310490558 A CN 201310490558A CN 103577553 A CN103577553 A CN 103577553A
- Authority
- CN
- China
- Prior art keywords
- data
- sporadic
- storage method
- space
- type
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—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)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据存储方法,其包括:第一数据存储步骤,对要存储的数据分配内存空间进行存储;第二数据存储步骤,对已存储的零散数据进行内存整合,将具有相同数据类型的数据存储在同一连续内存空间内;和公共数据索引设置步骤,将存储在同一连续内存空间内的所有数据的数据索引提取出并设置在该连续内存空间的头部,作为该连续内存空间内所有数据的公共数据索引。根据本发明的方法,能够高效利用内存空间,显著提高数据压缩率。
Description
技术领域
本发明属于数据存储领域,涉及一种能够高效利用内存空间的数据存储方法,尤其适用于云计算领域的信息处理设备或方法。
背景技术
在计算机中存储数据时,存储数据的不连续性虽然会使小块内存的利用率变高,但同时也存在一些弊端,例如当在内存区内存储数据时,由于需要对每个内存进行数据标记,会导致内存的额外浪费。对于这种情况,现有技术中提出了一种解决方案,对数据的临时文件进行定时整合,设置整合区;当需要建立文件时,可以在用户独立空间内先生成文件,在系统不繁忙时对文件类型进行连续性内存整合,然后将整合后的内存头标记为同一文件类型。当用户查找数据时,如果数据索引是连续数据区,则直接根据数据需求进行逐一查找。由此能够减少数据头,通过一个统一数据头进入链表遍历流程,从而实现数据压缩的目的,减少数据报文在内存中的体积。
上述现有技术中存在如下问题:由于每个数据块都需要一个数据标记索引头,而每个数据是不连续的,因此当一个位置的数据释放时,如果该被释放的空间不够容纳下一个数据所申请的空间大小,那么这个空间就会变成数据碎片,导致无法利用。现有技术中只能通过增加物理内存大小来解决,导致成本增加,浪费空间,操作繁琐。
发明内容
本发明鉴于上述情况作出,其目的是提供一种高效利用内存空间的数据整合方法。
根据本发明的数据存储方法,所述方法包括:第一数据存储步骤,对要存储的数据分配内存空间进行存储;第二数据存储步骤,对已存储的零散数据进行内存整合,将具有相同数据类型的数据存储在同一连续内存空间内;和公共数据索引设置步骤,将存储在同一连续内存空间内的所有数据的数据索引提取出并设置在该连续内存空间的头部,作为该连续内存空间内所有数据的公共数据索引。
其中,所述第二数据存储步骤还包括:零散数据查找步骤,在内存中查找非连续存储的数据;零散数据类型判断步骤,判断零散数据是否属于同一数据类型,如果是,则进入下述数据整合步骤,如果否,则继续判断下一个零散数据是否属于同一数据类型;以及数据整合步骤,将属于同一数据类型的数据存储在同一个连续内存空间内。
其中,所述第一数据存储步骤还包括:在所分配的内存空间中预留一头空间,该头空间用于存储所述数据的数据索引。
优选的,所述数据索引包括数据的数据信息公共部分,该数据信息公共部分至少包含数据类型信息。
可选的,所述零散数据查找步骤还包括:获取每个零散数据的数据类型。
优选的,所述公共数据索引至少包含所述连续内存空间内所有存储数据的数据类型。
可选的,所述第二数据存储步骤在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中的头1。
在图2b中,将同属于第二数据类型的数据hge、igo、和gnz放在第二连续内存空间内,分别建立相应的文件4、文件5和文件6,将这些数据信息中的公共部分g提取出来,将其作为数据索引放在该第二连续内存空间的头部,即图2b中的头2。
当用户需要检索数据abc时,首先发现其中的数据索引a在图2a所示的第一连续内存空间的头部,则只需要对第一连续内存空间的头1后面的数据进行查找,检索到数据abc后对其进行读取。类似的,当用户需要检索数据igo时,首先会发现该数据中的数据索引g在图2b所示的第二连续内存空间的头部,则只需要对第二连续内存空间的头2后面的数据进行查找,检索到数据igo后对其进行读取。
如上所述,在本发明的数据存储方法中,当用户申请数据存储空间时,系统给数据分配一个完整的数据空间,此空间预留一个头空间以用来存储数据的数据索引,数据索引通常包含数据的公共部分数据信息,例如数据类型以及数据类型之外的其他特征,本发明中仅以数据类型为例进行说明,但不限制于此。
当cpu使用率不高时,数据处理设备会对内存内的零散数据进行整合,将相同数据类型的数据放在同一个连续内存空间内,并将数据信息中的公共部分提取出来放在该连续内存空间的头部以作为数据的数据索引。当用户需要检索数据时,会首先在某个连续内存空间找到该数据的数据索引,然后就可以在该连续内存空间内对目标数据进行查找,找到该数据后对需要的数据进行读取。
下面对本发明的数据存储方法的具体步骤进行说明。
图3显示了根据本发明第一实施方式的数据处理设备的数据存储方法的流程示意图。
如图3所示,本发明第一实施方式的数据处理设备的数据存储方法包括下述步骤:
步骤S1,给数据分配内存空间。当用户需要存储数据并申请数据空间时,首先在数据处理设备的内存中给需要存储的数据分配一个内存空间。优选的,可以在该内存空间中预留一个头空间,该头空间用于存储上述数据的数据索引,数据索引通常包括数据的数据信息公共部分,该数据信息公共部分至少包含数据类型信息,用于标识数据的类型。
步骤S2,查找零散数据。在内存中查找以零散状态(非连续状态)存储在内存区域中的数据,优选的,查找到零散数据后会获取每个数据的数据类型。如步骤S1中所述,可以在每个数据所在内存空间的头空间内获取数据索引,从数据索引中获取数据类型信息。
步骤S3,对零散数据进行类型判断。对查找到每个零散数据进行数据类型判断,判断零散数据是否属于同一数据类型,如果是,则执行数据整合操作,否则返回,继续对下一个零散数据进行类型判断。
以图2a中的第一数据类型为例,如果该零散数据的数据类型为第一数据类型,则进入步骤s4,执行数据整合操作;如果不属于第一数据类型,则返回,继续判断对下一个零散数据是否属于第一数据类型。
步骤S4,执行数据整合。将判断出属于同一数据类型的数据进行整合,即将这些数据存储在一个连续内存空间内,该连续内存空间中将属于同一数据类型的数据连续的存储,并分配公共的头部来存储公共数据索引,该公共数据索引至少包含该连续内存空间内所有存储数据的数据类型。
步骤S5,设置公共数据索引。提取在步骤S4中存储在同一连续内存空间的所有数据的数据索引,将该数据索引设置在该连续内存空间的头部,作为该连续内存空间内所有同类型数据的公共数据索引。公共数据索引的设置是为了便于用户查找数据。
以图2a中的第一数据类型为例,将同属于第一数据类型的零散数据abc、eal、ajf连续的存储在第一连续内存空间内,由于这些零散数据具有相同的数据索引a,可以在内存空间内分配公共的头1来存储数据索引a,构成这些数据的公共数据索引。这样,通过对数据类型相同的数据进行整合大大减少了数据索引的数量,降低了数据索引占用的内存空间,提高了内存利用率,实现了一定的数据压缩率。
步骤S5执行完后,即实现了对同属于某一数据类型(例如第一数据类型)的所有零散数据的内存整合。然后,流程返回到步骤S2,在系统空闲时,定时或不定时的对其他数据类型的零散数据进行内存整合。例如,以图2b中的第二数据类型为例,在步骤S2中查找当前所有的零散数据,在步骤S3中对每个零散数据判断是否属于第二数据类型,如果为否,则对下一个零散数据进行判断;如果为是,则在步骤S4中执行数据整合,将所有同属于第二数据类型的零散数据存储的同一连续内存空间内,然后再步骤S5中设置该连续内存空间的公共数据索引,如此反复执行。
如上所述,通过通过采用本发明的数据存储方法,当用户需要检索数据时,会首先查找到该数据的特征(数据类型)在某个内存空间的头部,这表示要检索的数据存储在该内存空间内;然后,在该内存空间内对该头部后的数据进行查找,找到对应数据后对需要的数据进行读取即可。
根据上述本发明的数据存储方法,通过将数据类型相同的数据进行整合存储,减小了数据索引空间,高效利用了内存空间。具体地,通过定时整合数据来提高内存利用率,并且通过减少数据索引空间后可达到一定的数据压缩目的。
尽管已经详细描述了本发明的实施方式,但是应该理解的是,在不偏离本发明的精神和范围的情况下,可以对本发明的实施方式做出各种改变、替换和变更。
本发明适合于所有的信息处理设备,尤其适用于云计算领域的数据处理和存储。
Claims (8)
1.一种数据存储方法,所述方法包括:
第一数据存储步骤,对要存储的数据分配内存空间进行存储;
第二数据存储步骤,对已存储的零散数据进行内存整合,将具有相同数据类型的数据存储在同一连续内存空间内;和
公共数据索引设置步骤,将存储在同一连续内存空间内的所有数据的数据索引提取出并设置在该连续内存空间的头部,作为该连续内存空间内所有数据的公共数据索引。
2.根据权利要求1所述的数据存储方法,所述第二数据存储步骤还包括:
零散数据查找步骤,在内存中查找非连续存储的数据;
零散数据类型判断步骤,判断零散数据是否属于同一数据类型,如果是,则进入下述数据整合步骤,如果否,则继续判断下一个零散数据是否属于同一数据类型;以及
数据整合步骤,将属于同一数据类型的数据存储在同一个连续内存空间内。
3.根据权利要求1所述的数据存储方法,所述第一数据存储步骤还包括:在所分配的内存空间中预留一头空间,该头空间用于存储所述数据的数据索引。
4.根据权利要求3所述的数据存储方法,所述数据索引包括数据的数据信息公共部分,该数据信息公共部分至少包含数据类型信息。
5.根据权利要求2所述的数据存储方法,所述零散数据查找步骤还包括:获取每个零散数据的数据类型。
6.根据权利要求1所述的数据存储方法,所述公共数据索引至少包含所述连续内存空间内所有存储数据的数据类型。
7.根据权利要求1所述的数据存储方法,所述第二数据存储步骤在cpu使用率不高时执行,或者以定时方式执行。
8.根据权利要求1-7中任一项所述的数据存储方法,所述公共数据索引设置步骤执行完之后返回第二数据存储步骤,基于其他数据类型执行该第二数据存储步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310490558.8A CN103577553A (zh) | 2013-10-18 | 2013-10-18 | 数据存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310490558.8A CN103577553A (zh) | 2013-10-18 | 2013-10-18 | 数据存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103577553A true CN103577553A (zh) | 2014-02-12 |
Family
ID=50049329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310490558.8A Pending CN103577553A (zh) | 2013-10-18 | 2013-10-18 | 数据存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103577553A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105005745A (zh) * | 2015-07-16 | 2015-10-28 | 柳州首光科技有限公司 | 信息存储方法 |
CN105045682A (zh) * | 2015-07-16 | 2015-11-11 | 柳州首光科技有限公司 | 基于网络的信息存储方法 |
CN105069338A (zh) * | 2015-07-16 | 2015-11-18 | 柳州首光科技有限公司 | 采用虹膜加密的信息存储方法 |
CN105069368A (zh) * | 2015-07-16 | 2015-11-18 | 柳州首光科技有限公司 | 具有隐私保护功能的信息存储方法 |
CN105069367A (zh) * | 2015-07-15 | 2015-11-18 | 柳州首光科技有限公司 | 具有隐私保护功能的数据存储系统 |
CN105095796A (zh) * | 2015-07-15 | 2015-11-25 | 柳州首光科技有限公司 | 采用虹膜加密的数据存储系统 |
CN111737166A (zh) * | 2020-05-15 | 2020-10-02 | 完美世界(北京)软件科技发展有限公司 | 数据对象的处理方法、装置及设备 |
CN114374875A (zh) * | 2021-12-31 | 2022-04-19 | 浙江大华技术股份有限公司 | 一种mp4文件的录制方法、装置及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101315628A (zh) * | 2007-06-01 | 2008-12-03 | 华为技术有限公司 | 内存数据库系统及实现内存数据库的方法和装置 |
CN102222102A (zh) * | 2011-06-22 | 2011-10-19 | 信雅达系统工程股份有限公司 | 基于元数据的结构化数据存储方法 |
CN103092775A (zh) * | 2013-01-31 | 2013-05-08 | 武汉大学 | 一种基于键值结构的空间数据双缓存方法及机制 |
CN103294710A (zh) * | 2012-02-28 | 2013-09-11 | 北京新媒传信科技有限公司 | 一种数据存取方法和装置 |
-
2013
- 2013-10-18 CN CN201310490558.8A patent/CN103577553A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101315628A (zh) * | 2007-06-01 | 2008-12-03 | 华为技术有限公司 | 内存数据库系统及实现内存数据库的方法和装置 |
CN102222102A (zh) * | 2011-06-22 | 2011-10-19 | 信雅达系统工程股份有限公司 | 基于元数据的结构化数据存储方法 |
CN103294710A (zh) * | 2012-02-28 | 2013-09-11 | 北京新媒传信科技有限公司 | 一种数据存取方法和装置 |
CN103092775A (zh) * | 2013-01-31 | 2013-05-08 | 武汉大学 | 一种基于键值结构的空间数据双缓存方法及机制 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069367A (zh) * | 2015-07-15 | 2015-11-18 | 柳州首光科技有限公司 | 具有隐私保护功能的数据存储系统 |
CN105095796A (zh) * | 2015-07-15 | 2015-11-25 | 柳州首光科技有限公司 | 采用虹膜加密的数据存储系统 |
CN105005745A (zh) * | 2015-07-16 | 2015-10-28 | 柳州首光科技有限公司 | 信息存储方法 |
CN105045682A (zh) * | 2015-07-16 | 2015-11-11 | 柳州首光科技有限公司 | 基于网络的信息存储方法 |
CN105069338A (zh) * | 2015-07-16 | 2015-11-18 | 柳州首光科技有限公司 | 采用虹膜加密的信息存储方法 |
CN105069368A (zh) * | 2015-07-16 | 2015-11-18 | 柳州首光科技有限公司 | 具有隐私保护功能的信息存储方法 |
CN111737166A (zh) * | 2020-05-15 | 2020-10-02 | 完美世界(北京)软件科技发展有限公司 | 数据对象的处理方法、装置及设备 |
CN111737166B (zh) * | 2020-05-15 | 2023-04-07 | 完美世界(北京)软件科技发展有限公司 | 数据对象的处理方法、装置及设备 |
CN114374875A (zh) * | 2021-12-31 | 2022-04-19 | 浙江大华技术股份有限公司 | 一种mp4文件的录制方法、装置及可读存储介质 |
CN114374875B (zh) * | 2021-12-31 | 2024-05-28 | 浙江大华技术股份有限公司 | 一种mp4文件的录制方法、装置及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103577553A (zh) | 数据存储方法 | |
US10031671B2 (en) | Method, apparatus, and system for calculating identification threshold to distinguish cold data and hot data | |
CN104008111B (zh) | 一种数据的存储管理方法及装置 | |
CN105426408B (zh) | 一种多索引的数据处理方法及装置 | |
CN102419752B (zh) | 一种工业数据库报文存储方法 | |
CN102663086B (zh) | 一种数据块索引的检索方法 | |
CN103440208B (zh) | 一种数据存储的方法及装置 | |
CN110268399A (zh) | 用于维护操作的合并树修改 | |
CN104978361B (zh) | 动力环境实时监控数据存储方法及装置 | |
CN110291518A (zh) | 合并树无用单元指标 | |
CN105468642A (zh) | 数据的存储方法及装置 | |
JP2015521310A5 (zh) | ||
KR20170123336A (ko) | 파일 조작 방법 및 장치 | |
CN101571869B (zh) | 一种智能卡的文件存储、读取方法及装置 | |
CN104156317A (zh) | 一种非易失性闪存的擦写管理方法及系统 | |
CN102880854B (zh) | 基于分布式和哈希映射的室外海量物体识别方法和系统 | |
CN102158349A (zh) | 一种日志管理装置及方法 | |
CN103383690A (zh) | 分布式数据存储方法及系统 | |
CN104412240A (zh) | 用于存储器管理的系统和方法 | |
CN104111898A (zh) | 基于多维数据相似性的混合存储系统及数据管理方法 | |
CN111125417A (zh) | 一种数据搜索方法、装置、电子设备及存储介质 | |
CN102542041A (zh) | 栅格数据处理方法及系统 | |
CN103729418B (zh) | 一种车载平台媒体文件管理方法 | |
CN105260465A (zh) | 一种图数据处理服务的方法、装置 | |
CN107111549B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140212 |
|
WD01 | Invention patent application deemed withdrawn after publication |