CN107491523A - 存储数据对象的方法及装置 - Google Patents

存储数据对象的方法及装置 Download PDF

Info

Publication number
CN107491523A
CN107491523A CN201710706073.6A CN201710706073A CN107491523A CN 107491523 A CN107491523 A CN 107491523A CN 201710706073 A CN201710706073 A CN 201710706073A CN 107491523 A CN107491523 A CN 107491523A
Authority
CN
China
Prior art keywords
data
external memory
memory equipment
file
positional information
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.)
Granted
Application number
CN201710706073.6A
Other languages
English (en)
Other versions
CN107491523B (zh
Inventor
解锋涛
邵海珠
戴月华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung China Semiconductor Co Ltd
Samsung Electronics Co Ltd
Original Assignee
Samsung China Semiconductor Co Ltd
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung China Semiconductor Co Ltd, Samsung Electronics Co Ltd filed Critical Samsung China Semiconductor Co Ltd
Priority to CN201710706073.6A priority Critical patent/CN107491523B/zh
Priority to KR1020170170421A priority patent/KR102564170B1/ko
Publication of CN107491523A publication Critical patent/CN107491523A/zh
Priority to US15/947,019 priority patent/US11586629B2/en
Application granted granted Critical
Publication of CN107491523B publication Critical patent/CN107491523B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2291User-Defined Types; Storage management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification

Abstract

提供一种存储数据对象的方法及装置。所述方法包括:当接收到对数据对象的写请求时,将所述数据对象的数据拆分为第一部分数据和第二部分数据,其中,所述第一部分数据包括:所述数据对象的数据字段,所述第二部分数据包括:所述数据对象的元数据;将所述第一部分数据写入存储于第一外部存储设备的第一数据文件;将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入存储于第二外部存储设备的第二数据文件。根据所述方法及装置,便于仅将数据对象的检索所需、访问频率较高的数据加载到缓存区,从而能够在有效缩减各数据对象所占用的缓存空间的同时,保证数据检索的速度。

Description

存储数据对象的方法及装置
技术领域
本发明涉及数据存储技术领域,更具体地讲,涉及一种存储数据对象的方法及装置。
背景技术
现有数据库或文件系统中通常使用B/B+树、哈希表、跳表等作为其缓存管理的方式,数据通常以对象的形式与这些结构相关联。以B/B+树为例,各个数据对象将被分别存储在各个树节点中,在B+树中,数据信息被移至叶子节点,B+树的内部节点只被用来存储相关Key值范围。由于数据节点较大,通常会占用很多内存,在进行大数据分析时,常常会导致内存不足,此时数据库或文件系统需根据相关置换算法(例如,LRU(Least Recently Used,近期最少使用)算法)废弃内存数据页面,在内存页被废弃之后,B树或B+树会根据废弃数据进行B树或B+树的调整,保证B树或B+树的平衡性。在新的数据被载入内存时,B树或B+树结构发生变化,此时也需要进行树的调整。哈希表和跳表中也存在类似的操作方式。
即,现有的存储数据对象的方式,使得加载到缓存区的数据对象(例如:B/B+树的叶子节点)对缓存空间消耗过大,从而吞噬很大一部分内存,而内存不足则导致:数据检索出现较多的缓存缺失、页面被频繁地换入换出、内存结构被频繁地调整、系统花费大量CPU时间处理页面置换工作,使得客户请求及I/O请求无法得到及时处理。并且,还导致了需要数据库或文件系统在缓存管理上进行复杂耗时的操作,降低了数据库或文件系统的性能。
发明内容
本发明的示例性实施例在于提供一种存储数据对象的方法及装置,其能够将数据对象的检索所需及访问频率较高的数据、与检索相关度较低的大数据块进行分离存储,从而便于仅将数据对象的检索所需、访问频率较高的数据加载到缓存区,能够在有效缩减各数据对象所占用的缓存空间的同时,保证数据检索的速度,从而解决因数据对象占用较多的内存所导致的各种问题。
根据本发明的示例性实施例,提供一种存储数据对象的方法,包括:当接收到对数据对象的写请求时,将所述数据对象的数据拆分为第一部分数据和第二部分数据,其中,所述第一部分数据包括:所述数据对象的数据字段,所述第二部分数据包括:所述数据对象的元数据;将所述第一部分数据写入存储于第一外部存储设备的第一数据文件;将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入存储于第二外部存储设备的第二数据文件,其中,所述第一外部存储设备和所述第二外部存储设备为同一外部存储设备或不同的外部存储设备。
可选地,所述第一部分数据包括的数据字段的长度大于预定阈值;所述第二部分数据还包括:所述数据对象中长度不大于预定阈值的数据字段。
可选地,在将所述第一部分数据写入存储于第一外部存储设备的第一数据文件之后,且在将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入存储于第二外部存储设备的第二数据文件之前,所述方法还包括:将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入文件系统的日志文件;将所述日志文件存储到所述第一外部存储设备或所述第二外部存储设备。
可选地,所述方法还包括:当接收到对所述数据对象的读请求时,将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据从所述第二外部存储设备加载到内存的缓存区。
可选地,所述第一部分数据在所述第一外部存储设备中的位置信息为:所述第一部分数据的结构描述信息在所述第一外部存储设备中的位置信息,其中,所述结构描述信息包括:所述第一部分数据包括的各数据字段在所述第一数据文件中的位置信息和长度信息;或者,所述第一部分数据在所述第一外部存储设备中的位置信息为:所述第一部分数据包括的各数据字段分别在所述第一外部存储设备中的位置信息和长度信息。
根据本发明的另一示例性实施例,提供一种存储数据对象的装置,包括:拆分单元,当接收到对数据对象的写请求时,将所述数据对象的数据拆分为第一部分数据和第二部分数据,其中,所述第一部分数据包括:所述数据对象的数据字段,所述第二部分数据包括:所述数据对象的元数据;第一写入单元,将所述第一部分数据写入存储于第一外部存储设备的第一数据文件;第二写入单元,将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入存储于第二外部存储设备的第二数据文件,其中,所述第一外部存储设备和所述第二外部存储设备为同一外部存储设备或不同的外部存储设备。
可选地,所述第一部分数据包括的数据字段的长度大于预定阈值;所述第二部分数据还包括:所述数据对象中长度不大于预定阈值的数据字段。
可选地,所述装置还包括:第三写入单元,在第一写入单元将所述第一部分数据写入存储于第一外部存储设备的第一数据文件之后,且在第二写入单元将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入存储于第二外部存储设备的第二数据文件之前,将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入文件系统的日志文件;日志文件存储单元,将所述日志文件存储到所述第一外部存储设备或所述第二外部存储设备。
可选地,所述装置还包括:加载单元,当接收到对所述数据对象的读请求时,将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据从所述第二外部存储设备加载到内存的缓存区。
可选地,所述第一部分数据在所述第一外部存储设备中的位置信息为:所述第一部分数据的结构描述信息在所述第一外部存储设备中的位置信息,其中,所述结构描述信息包括:所述第一部分数据包括的各数据字段在所述第一数据文件中的位置信息和长度信息;或者,所述第一部分数据在所述第一外部存储设备中的位置信息为:所述第一部分数据包括的各数据字段分别在所述第一外部存储设备中的位置信息和长度信息。
根据本发明的另一示例性实施例,提供一种计算机可读存储介质,存储有计算机程序,其中,所述计算机程序被配置为使计算机的处理器执行下述步骤:当接收到对数据对象的写请求时,将所述数据对象的数据拆分为第一部分数据和第二部分数据,其中,所述第一部分数据包括:所述数据对象的数据字段,所述第二部分数据包括:所述数据对象的元数据;将所述第一部分数据写入存储于第一外部存储设备的第一数据文件;将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入存储于第二外部存储设备的第二数据文件,其中,所述第一外部存储设备和所述第二外部存储设备为同一外部存储设备或不同的外部存储设备。
在根据本发明示例性实施例的存储数据对象的方法及装置中,提出数据对象的新的组织形式,将数据对象的检索所需及访问频率较高的数据、与检索相关度较低的大数据块进行分离存储。从而便于仅将数据对象的检索所需、访问频率较高的数据加载到缓存区,能够有效地缩减各数据对象所占用的缓存空间、提高内存缓存命中率、减少缓存换入换出操作、减少缓存结构的调整、便于系统及时处理客户请求及I/O请求、提升数据库和/或文件系统的整体性能。
将在接下来的描述中部分阐述本发明总体构思另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本发明总体构思的实施而得知。
附图说明
通过下面结合示例性地示出实施例的附图进行的描述,本发明示例性实施例的上述和其他目的和特点将会变得更加清楚,其中:
图1示出根据本发明示例性实施例的存储数据对象的方法的流程图;
图2示出现有的存储数据对象的方法的示例;
图3示出根据本发明示例性实施例的存储数据对象的方法的示例;
图4示出根据本发明示例性实施例的查询数据对象的数据字段的方法的流程图;
图5示出根据本发明示例性实施例的更新数据对象的数据字段的方法的流程图;
图6示出根据本发明示例性实施例的删除数据对象的数据字段的方法的流程图;
图7示出根据本发明示例性实施例的新增数据对象的数据字段的方法的流程图;
图8示出根据本发明示例性实施例的存储数据对象的装置的框图。
具体实施方式
现将详细参照本发明的实施例,所述实施例的示例在附图中示出,其中,相同的标号始终指的是相同的部件。以下将通过参照附图来说明所述实施例,以便解释本发明。
图1示出根据本发明示例性实施例的存储数据对象的方法的流程图。
参照图1,在步骤S101,当接收到对数据对象的写请求时,将所述数据对象的数据拆分为第一部分数据和第二部分数据,其中,所述第一部分数据包括:所述数据对象的数据字段,所述第二部分数据包括:所述数据对象的元数据。
这里,数据对象可理解为相互关联的一组数据或相互关联的数据的集合。例如,可将记录了关于一用户的至少一种属性信息的集合看作一个数据对象。
数据对象可包括多个元数据和多个数据字段,每个数据字段可对应至少一个元数据。
元数据用于描述数据,主要是描述数据属性的信息。作为示例,所述数据对象的元数据可包括:所述数据对象的索引字段及索引字段的描述信息、所述数据对象的各数据字段的描述信息。例如,数据字段的描述信息可以是数据字段的名称、类型等信息。索引字段的描述信息可以是索引字段的名称、类型等信息。
例如,当一数据对象是记录了关于一用户的至少一种属性信息的集合时,该数据对象的索引字段的描述信息可以是:用户ID;索引字段可以是:用户ID的具体值;各数据字段的描述信息可以是:身份证号、电话号码、住址等名称或类型,相应地,各数据字段可以是:该用户的身份证号的具体值、该用户的电话号码的具体值、该用户的住址的具体值等。
作为示例,所述第一部分数据可包括:所述数据对象中全部数据字段;所述第二部分数据可包括:所述数据对象中包括的元数据。
作为另一示例,所述第一部分数据包括的数据字段的长度可大于预定阈值;所述第二部分数据还可包括:所述数据对象中长度不大于预定阈值的数据字段。换言之,所述第一部分数据可包括:所述数据对象中长度大于预定阈值的数据字段;所述第二部分数据可包括:所述数据对象中包括的元数据和所述数据对象中长度不大于预定阈值的数据字段。这里,应该理解,可根据具体的实际情况(例如,内存的大小等)来设置所述预定阈值的大小。
在步骤S102,将所述第一部分数据写入存储于第一外部存储设备的第一数据文件。
在步骤S103,将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入存储于第二外部存储设备的第二数据文件,其中,所述第一外部存储设备和所述第二外部存储设备为同一外部存储设备或不同的外部存储设备。换言之,将数据对象的检索所需及访问频率较高的数据、与占用空间较大的数据字段分开存储。
应该理解,不同数据对象的第一部分数据也可写入同一第一数据文件中,不同数据对象的第一部分数据在第一外部存储设备中的位置信息和第二部分数据也可写入同一第二数据文件中。
作为示例,第一外部存储设备可以是高速外部存储设备。作为优选示例,第一外部存储设备可以是固态硬盘(SSD,Solid State Drives)。例如,可以是SATA SSD,NVMe SSD等。从而可利用固态硬盘的高宽带和低延迟的特性,快速地从其读取所需的数据字段。此外,还能够提高固态硬盘的利用率。
作为示例,第二外部存储设备可以是高速外部存储设备(例如,固态硬盘等)、磁盘等。
作为示例,所述第一部分数据在所述第一外部存储设备中的位置信息可为:所述第一部分数据的结构描述信息在所述第一外部存储设备中的位置信息。这里,所述第一部分数据的结构描述信息可理解为所述第一部分数据在第一数据文件中的具体组织形式的描述信息。作为示例,所述第一部分数据的结构描述信息可包括:所述第一部分数据包括的各数据字段在第一数据文件中的位置信息和长度信息。
作为另一示例,所述第一部分数据在所述第一外部存储设备中的位置信息可为:所述第一部分数据包括的各数据字段分别在所述第一外部存储设备中的位置信息和长度信息。
需要说明的是,在确定将所述第一部分数据写入第一数据文件中,且第一部分数据写入第一数据文件的具体位置后,对于系统来说第一数据文件的地址是可以获知的,即可获知第一部分数据在所述第一外部存储设备中的位置信息。获知第一部分数据在第一外部存储设备中的位置信息,对于本领域技术人员来说是公知技术,本申请在此不再赘述。
此外,作为优选示例,可在第一部分数据已完全存储到第一外部存储设备(即,已全部落盘)之后,再执行步骤S103。
此外,作为示例,根据本发明示例性实施例的存储数据对象的方法还可包括:在步骤S102之后,且在步骤S103之前,仅将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入文件系统的日志文件,并将所述日志文件存储到所述第一外部存储设备或所述第二外部存储设备。即,不将所述第一部分数据写入文件系统的日志文件。作为优选示例,可将所述日志文件存储到第二外部存储设备,即,将所述日志文件与所述第二数据文件存储于同一外部存储设备中。
现有技术中通常将数据对象的所有数据均写入文件系统的日志文件,因此存在日志文件占用较多外部存储设备空间、致使数据写速度降低的问题,而根据本发明的上述示例性实施例,能够有效减小文件系统的日志文件所占用的外部存储设备空间、提高数据写速度。
作为优选示例,根据本发明示例性实施例的存储数据对象的方法还可包括:当接收到对所述数据对象的数据字段的读请求时,将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据从所述第二外部存储设备加载到内存的缓存区。即,仅将数据对象的检索所需、访问频率较高的部分数据加载到缓存区,以在缩减各数据对象所占用的缓存空间的同时,保证大部分检索所需的信息能够从缓存获取,从而不影响数据检索速度。
作为示例,在内存的缓存区中,可以B树、B+树、哈希表(HashTable)、跳表(SkipList)形式之一来管理所述加载到缓存区的数据对象的数据。
下面以NoSQL数据库MongoDB为例,MongoDB之中数据对象以文档形式(类似JSON形式的可嵌套K-V对组)进行存储,文档内包含了一组key-value对。MongoDB上的增删查改都以文档作为基本单位进行。如图2所示,在现有技术中,当数据库接收到对数据对象的写请求时,直接交由存储引擎将数据对象的所有数据一起存储到外部存储设备。根据本发明的示例性实施例,如图3所示,当数据库接收到对数据对象的写请求时,可拦截待写入的数据对象,将该数据对象的数据拆分为第一部分数据和第二部分数据,此时,文档中只保留其元数据(例如,包括:索引字段及其描述信息(_id:user123456789)、各数据字段的描述信息(Field1、Field2…))和值域较短的数据字段(即,该数据对象的第二部分数据),同时会在文档中的相应位置处增加该数据对象的第一部分数据在第一外部存储设备中的位置信息,例如,该数据对象的第一部分数据的结构描述信息在第一外部存储设备中的位置信息(例如,fdindex:2及header:40960,其中,前者指示第一数据文件的序号,后者指示该数据对象的第一部分数据的结构描述信息在第一数据文件中的偏移量)。然后,可将该数据对象的第一部分数据写入存储于第一外部存储设备的第一数据文件中,其中,第一数据文件中的描述信息数据块可存储该数据对象的第一部分数据的结构描述信息(即,第一部分数据包括的各数据字段在第一数据文件中的位置信息和长度信息)。优选地,可在该数据对象的第一部分数据完全落盘之后,再将重构过的文档继续交由存储引擎进行后续处理,例如,存储引擎可按照现有的方式将重构过的文档写入存储于第二外部存储设备的第二数据文件。
图4示出根据本发明示例性实施例的查询数据对象的数据字段的方法的流程图。
参照图4,在步骤S201,当接收到对数据对象中的至少一个数据字段的查询请求时,将数据对象的第一部分数据在第一外部存储设备中的位置信息和数据对象的第二部分数据从第二外部存储设备加载到内存的缓存区。
在步骤S202,从内存的缓存区中读取与被查询的数据字段对应的元数据和被查询的数据字段在第一外部存储设备中的位置信息。例如,与被查询的数据字段对应的元数据可以是被查询的数据字段的描述信息(例如,名称、类型等)。
在步骤S203,根据读取的位置信息从第一外部存储设备读取被查询的数据字段。
具体地,作为示例,在数据对象的第一部分数据的位置信息为第一部分数据的结构描述信息在第一外部存储设备中的位置信息的情况下,在步骤S202,可读取数据对象的第一部分数据的结构描述信息在第一外部存储设备中的位置信息,然后在步骤S203,首先根据第一部分数据的结构描述信息的位置信息来读取第一部分数据的结构描述信息,然后从中读取被查询的数据字段在第一数据文件中的位置信息和长度信息,并根据该位置信息和长度信息读取被查询的数据字段。
作为另一示例,在数据对象的第一部分数据的位置信息为第一部分数据包括的各数据字段分别在第一外部存储设备中的位置信息和长度信息的情况下,在步骤S202,可直接读取被查询的数据字段的位置信息和长度信息,并在步骤S203,可直接根据读取的位置信息从第一外部存储设备读取被查询的数据字段。
在步骤S204,将读取的元数据和读取的数据字段进行重组并返回重组后的数据。例如,可将重组后的数据填入查询请求的返回列表,然后可调用返回函数完成数据的返回。
作为示例,当数据对象的第一部分数据包括:数据对象中长度大于预定阈值的数据字段;数据对象的第二部分数据包括:数据对象中包括的元数据和数据对象中长度不大于预定阈值的数据字段时,步骤S202可包括:确定内存的缓存区中是否存储有被查询的数据字段,其中,当确定内存的缓存区中没有存储被查询的数据字段时,从内存的缓存区中读取与被查询的数据字段对应的元数据和被查询的数据字段在第一外部存储设备中的位置信息;当确定内存的缓存区中存储有被查询的数据字段时,从内存的缓存区中读取被查询的数据字段及与其对应的元数据,然后直接执行步骤S204。
图5示出根据本发明示例性实施例的更新数据对象的数据字段的方法的流程图。
参照图5,在步骤S301,当接收到对数据对象中的至少一个数据字段的更新请求时,将更新的数据字段写入存储于第一外部存储设备的第一数据文件。
在步骤S302,从第一数据文件中删除旧的数据字段。即,采用数据顺序追加写入方式来进行更新,以此将数据的随机更新操作变换成顺序操作,以适合SSD的特性。
在步骤S303,将旧的数据字段在第一外部存储设备中的位置信息替换为更新的数据字段在第一外部存储设备中的位置信息。
具体地,作为示例,在数据对象的第一部分数据的位置信息为第一部分数据的结构描述信息在第一外部存储设备中的位置信息的情况下,在步骤S303,可在第一部分数据的结构描述信息中,将旧的数据字段在第一数据文件中的位置信息和长度信息替换为更新的数据字段在第一数据文件中的位置信息和长度信息。
作为另一示例,在数据对象的第一部分数据的位置信息为第一部分数据包括的各数据字段分别在第一外部存储设备中的位置信息和长度信息的情况下,在步骤S303,可在第二数据文件中,将旧的数据字段在第一外部存储设备中的位置信息和长度信息替换为更新的数据字段在第一外部存储设备中的位置信息和长度信息。
当数据对象的第一部分数据包括:数据对象中长度大于预定阈值的数据字段;数据对象的第二部分数据包括:数据对象中包括的元数据和数据对象中长度不大于预定阈值的数据字段时,上述示例性实施例的更新数据对象的数据字段的方法适用于旧的数据字段的长度和更新的数据字段的长度均大于所述预定阈值的情况。作为示例,当旧的数据字段的长度和更新的数据字段的长度均不大于预定阈值时,可在第二数据文件中将旧的数据字段替换为更新的数据字段。作为示例,当旧的数据字段的长度大于预定阈值,且更新的数据字段的长度不大于预定阈值时,可从第一数据文件中删除旧的数据字段、从第二数据文件中相应地删除其位置信息和长度信息,并将更新的数据字段写入第二数据文件。作为示例,当旧的数据字段的长度不大于预定阈值,且更新的数据字段的长度大于预定阈值时,可从第二数据文件中删除旧的数据字段、将更新的数据字段写入第一数据文件、并将更新的数据字段在第一外部存储设备中的位置信息和长度信息写入第二数据文件。
图6示出根据本发明示例性实施例的删除数据对象的数据字段的方法的流程图。
参照图6,在步骤S401,当接收到对数据对象中的至少一个数据字段的删除请求时,从第一数据文件中删除请求删除的数据字段。
在步骤S402,删除请求删除的数据字段在第一外部存储设备中的位置信息和长度信息。
具体地,作为示例,在数据对象的第一部分数据的位置信息为第一部分数据的结构描述信息在第一外部存储设备中的位置信息的情况下,在步骤S402,可从第一部分数据的结构描述信息中删除请求删除的数据字段在第一数据文件中的位置信息和长度信息。
作为另一示例,在数据对象的第一部分数据的位置信息为第一部分数据包括的各数据字段分别在第一外部存储设备中的位置信息和长度信息的情况下,在步骤S402,可从第二数据文件中删除请求删除的数据字段在第一外部存储设备中的位置信息和长度信息。
在步骤S403,从第二数据文件中删除与请求删除的数据字段对应的元数据。
当数据对象的第一部分数据包括:数据对象中长度大于预定阈值的数据字段;数据对象的第二部分数据包括:数据对象中包括的元数据和数据对象中长度不大于预定阈值的数据字段时,上述示例性实施例的删除数据对象的数据字段的方法适用于被删除的数据字段的长度大于预定阈值的情况。此外,作为示例,当请求删除的数据字段的长度不大于预定阈值时,可直接从第二数据文件中删除请求删除的数据字段及与其对应的元数据。
图7示出根据本发明示例性实施例的新增数据对象的数据字段的方法的流程图。
参照图7,在步骤S501,当接收到对数据对象的至少一个数据字段的新增请求时,将新增的数据字段写入存储于第一外部存储设备的第一数据文件。
在步骤S502,将与新增的数据字段对应的元数据写入存储于第二外部存储设备的第二数据文件。
在步骤S503,存储新增的数据字段在第一外部存储设备中的位置信息和长度信息。
具体说来,作为示例,在数据对象的第一部分数据的位置信息为第一部分数据的结构描述信息在第一外部存储设备中的位置信息的情况下,将新增的数据字段在第一数据文件中的位置信息和长度信息存储到数据对象的第一部分数据的结构描述信息中。
作为另一示例,在数据对象的第一部分数据的位置信息为第一部分数据包括的各数据字段分别在第一外部存储设备中的位置信息和长度信息的情况下,将新增的数据字段在第一外部存储设备中的位置信息和长度信息写入第二数据文件。
应该理解,当数据对象的第一部分数据包括:数据对象中长度大于预定阈值的数据字段;数据对象的第二部分数据包括:数据对象中包括的元数据和数据对象中长度不大于预定阈值的数据字段时,步骤S501可包括:当接收到对数据对象的至少一个数据字段的新增请求时,确定新增的数据字段的长度是否大于预定阈值,其中,当确定长度大于预定阈值时,将新增的数据字段写入存储于第一外部存储设备的第一数据文件;当确定长度不大于预定阈值时,可直接将新增的数据字段及与其对应的元数据写入存储于第二外部存储设备的第二数据文件。
图8示出根据本发明示例性实施例的存储数据对象的装置的框图。
如图8所示,根据本发明示例性实施例的存储数据对象的装置包括:拆分单元101、第一写入单元102和第二写入单元103。
拆分单元101用于当接收到对数据对象的写请求时,将所述数据对象的数据拆分为第一部分数据和第二部分数据,其中,所述第一部分数据包括:所述数据对象的数据字段,所述第二部分数据包括:所述数据对象的元数据。
作为示例,所述数据对象的元数据可包括:所述数据对象的索引字段及索引字段的描述信息、所述数据对象的各数据字段的描述信息。
作为示例,所述第一部分数据可包括:所述数据对象中全部数据字段;所述第二部分数据可包括:所述数据对象中包括的元数据。
作为另一示例,所述第一部分数据包括的数据字段的长度可大于预定阈值;所述第二部分数据还可包括:所述数据对象中长度不大于预定阈值的数据字段。换言之,所述第一部分数据可包括:所述数据对象中长度大于预定阈值的数据字段;所述第二部分数据可包括:所述数据对象中包括的元数据和所述数据对象中长度不大于预定阈值的数据字段。这里,应该理解,可根据具体的实际情况(例如,内存的大小等)来设置所述预定阈值的大小。
第一写入单元102用于将所述第一部分数据写入存储于第一外部存储设备的第一数据文件。
第二写入单元103用于将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入存储于第二外部存储设备的第二数据文件,其中,所述第一外部存储设备和所述第二外部存储设备为同一外部存储设备或不同的外部存储设备。
作为示例,所述第一部分数据在所述第一外部存储设备中的位置信息可为:所述第一部分数据的结构描述信息在所述第一外部存储设备中的位置信息。这里,所述第一部分数据的结构描述信息可理解为所述第一部分数据在第一数据文件中的具体组织形式的描述信息。作为示例,所述第一部分数据的结构描述信息可包括:所述第一部分数据包括的各数据字段在第一数据文件中的位置信息和长度信息。
作为另一示例,所述第一部分数据在所述第一外部存储设备中的位置信息可为:所述第一部分数据包括的各数据字段分别在所述第一外部存储设备中的位置信息和长度信息。
作为示例,根据本发明示例性实施例的存储数据对象的装置还可包括:加载单元(未示出)。
加载单元用于当接收到对所述数据对象的读请求时,将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据从所述第二外部存储设备加载到内存的缓存区。
作为示例,根据本发明示例性实施例的存储数据对象的装置还可包括:第三写入单元(未示出)和日志文件存储单元(未示出)。
第三写入单元用于在第一写入单元102将所述第一部分数据写入存储于第一外部存储设备的第一数据文件之后,且在第二写入单元103将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入存储于第二外部存储设备的第二数据文件之前,将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入文件系统的日志文件。
日志文件存储单元用于将所述日志文件存储到所述第一外部存储设备或所述第二外部存储设备。
作为示例,根据本发明示例性实施例的存储数据对象的装置还可包括:加载单元(未示出)、读取单元(未示出)和返回单元(未示出)。
加载单元用于当对数据对象中的至少一个数据字段的查询请求被接收到时,将数据对象的第一部分数据在第一外部存储设备中的位置信息和数据对象的第二部分数据从第二外部存储设备加载到内存的缓存区。
读取单元用于从内存的缓存区中读取与被查询的数据字段对应的元数据和被查询的数据字段在第一外部存储设备中的位置信息,并根据读取的位置信息从第一外部存储设备读取被查询的数据字段。
返回单元用于将读取的元数据和读取的数据字段进行重组并返回重组后的数据。
作为示例,根据本发明示例性实施例的存储数据对象的装置还可包括:字段删除单元(未示出)和位置信息更新单元(未示出)。
作为示例,当对数据对象中的至少一个数据字段的更新请求被接收到时,第一写入单元102将更新的数据字段写入存储于第一外部存储设备的第一数据文件。
字段删除单元用于从第一数据文件中删除旧的数据字段。
位置信息更新单元用于将旧的数据字段在第一外部存储设备中的位置信息替换为更新的数据字段在第一外部存储设备中的位置信息。
作为示例,根据本发明示例性实施例的存储数据对象的装置还可包括:字段删除单元(未示出)、位置信息更新单元(未示出)和元数据删除单元(未示出)。
字段删除单元用于当对数据对象中的至少一个数据字段的删除请求被接收到时,从第一外部存储设备的第一数据文件中删除请求删除的数据字段。
位置信息更新单元用于删除请求删除的数据字段在第一外部存储设备中的位置信息。
元数据删除单元用于从第二外部存储设备的第二数据文件中删除与请求删除的数据字段对应的元数据。
此外,作为示例,当对数据对象的至少一个数据字段的新增请求被接收到时,第一写入单元102可将新增的数据字段写入存储于第一外部存储设备的第一数据文件;在数据对象的第一部分数据的位置信息为第一部分数据的结构描述信息在第一外部存储设备中的位置信息的情况下,第一写入单元102可将新增的数据字段在第一数据文件中的位置信息和长度信息存储到数据对象的第一部分数据的结构描述信息中,并且,第二写入单元103可将与新增的数据字段对应的元数据写入存储于第二外部存储设备的第二数据文件;在数据对象的第一部分数据的位置信息为第一部分数据包括的各数据字段分别在第一外部存储设备中的位置信息和长度信息的情况下,第二写入单元103可将新增的数据字段在第一外部存储设备中的位置信息和与新增的数据字段对应的元数据写入第二数据文件。
应该理解,根据本发明示例性实施例的存储数据对象的装置的具体实现方式可参照结合图1-图7描述的相关具体实现方式来实现,在此不再赘述。
作为示例,根据本发明的示例性实施例还提供一种计算机可读存储介质,存储有计算机程序,其中,所述计算机程序可被配置为使计算机的处理器执行如上述示例性实施例所述的存储数据对象的方法。
根据本发明示例性实施例的存储数据对象的方法及装置,提出数据对象的新的组织形式,将数据对象的检索所需及访问频率较高的数据、与检索相关度较低的大数据块进行分离存储,从而可在接收到对数据对象的读请求时,仅将数据对象的检索所需、访问频率较高的数据加载到缓存区,以能够有效地缩减各数据对象所占用的缓存空间,因此内存中可以存放更多的元数据,从而B树或哈希表等具有更完整的结构、因此不需要频繁地进行结构上的调整,处理器也将有更多的时间处理业务。并且,能够有效提高固态硬盘的利用率。
此外,应该理解,根据本发明示例性实施例的存储数据对象的装置中的各个单元可被实现硬件组件和/或软件组件。本领域技术人员根据限定的各个单元所执行的处理,可以例如使用现场可编程门阵列(FPGA)或专用集成电路(ASIC)来实现各个单元。
此外,根据本发明示例性实施例的存储数据对象的方法可以被实现为计算机可读记录介质中的计算机代码。本领域技术人员可以根据对上述方法的描述来实现所述计算机代码。当所述计算机代码在计算机中被执行时实现本发明的上述方法。
虽然已表示和描述了本发明的一些示例性实施例,但本领域技术人员应该理解,在不脱离由权利要求及其等同物限定其范围的本发明的原理和精神的情况下,可以对这些实施例进行修改。

Claims (10)

1.一种存储数据对象的方法,包括:
当接收到对数据对象的写请求时,将所述数据对象的数据拆分为第一部分数据和第二部分数据,其中,所述第一部分数据包括:所述数据对象的数据字段,所述第二部分数据包括:所述数据对象的元数据;
将所述第一部分数据写入存储于第一外部存储设备的第一数据文件;
将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入存储于第二外部存储设备的第二数据文件,
其中,所述第一外部存储设备和所述第二外部存储设备为同一外部存储设备或不同的外部存储设备。
2.根据权利要求1所述的方法,其中,
所述第一部分数据包括的数据字段的长度大于预定阈值;
所述第二部分数据还包括:所述数据对象中长度不大于预定阈值的数据字段。
3.根据权利要求1所述的方法,其中,在将所述第一部分数据写入存储于第一外部存储设备的第一数据文件之后,且在将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入存储于第二外部存储设备的第二数据文件之前,所述方法还包括:
将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入文件系统的日志文件;
将所述日志文件存储到所述第一外部存储设备或所述第二外部存储设备。
4.根据权利要求1所述的方法,还包括:
当接收到对所述数据对象的读请求时,将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据从所述第二外部存储设备加载到内存的缓存区。
5.根据权利要求1所述的方法,其中,
所述第一部分数据在所述第一外部存储设备中的位置信息为:所述第一部分数据的结构描述信息在所述第一外部存储设备中的位置信息,其中,所述结构描述信息包括:所述第一部分数据包括的各数据字段在所述第一数据文件中的位置信息和长度信息;
或者,所述第一部分数据在所述第一外部存储设备中的位置信息为:所述第一部分数据包括的各数据字段分别在所述第一外部存储设备中的位置信息和长度信息。
6.一种存储数据对象的装置,包括:
拆分单元,当接收到对数据对象的写请求时,将所述数据对象的数据拆分为第一部分数据和第二部分数据,其中,所述第一部分数据包括:所述数据对象的数据字段,所述第二部分数据包括:所述数据对象的元数据;
第一写入单元,将所述第一部分数据写入存储于第一外部存储设备的第一数据文件;
第二写入单元,将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入存储于第二外部存储设备的第二数据文件,
其中,所述第一外部存储设备和所述第二外部存储设备为同一外部存储设备或不同的外部存储设备。
7.根据权利要求6所述的装置,其中,
所述第一部分数据包括的数据字段的长度大于预定阈值;
所述第二部分数据还包括:所述数据对象中长度不大于预定阈值的数据字段。
8.根据权利要求6所述的装置,还包括:
第三写入单元,在第一写入单元将所述第一部分数据写入存储于第一外部存储设备的第一数据文件之后,且在第二写入单元将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入存储于第二外部存储设备的第二数据文件之前,将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入文件系统的日志文件;
日志文件存储单元,将所述日志文件存储到所述第一外部存储设备或所述第二外部存储设备。
9.根据权利要求6所述的装置,还包括:
加载单元,当接收到对所述数据对象的读请求时,将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据从所述第二外部存储设备加载到内存的缓存区。
10.一种计算机可读存储介质,存储有计算机程序,其中,所述计算机程序被配置为使计算机的处理器执行下述步骤:
当接收到对数据对象的写请求时,将所述数据对象的数据拆分为第一部分数据和第二部分数据,其中,所述第一部分数据包括:所述数据对象的数据字段,所述第二部分数据包括:所述数据对象的元数据;
将所述第一部分数据写入存储于第一外部存储设备的第一数据文件;
将所述第一部分数据在所述第一外部存储设备中的位置信息和所述第二部分数据写入存储于第二外部存储设备的第二数据文件,
其中,所述第一外部存储设备和所述第二外部存储设备为同一外部存储设备或不同的外部存储设备。
CN201710706073.6A 2017-08-17 2017-08-17 存储数据对象的方法及装置 Active CN107491523B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201710706073.6A CN107491523B (zh) 2017-08-17 2017-08-17 存储数据对象的方法及装置
KR1020170170421A KR102564170B1 (ko) 2017-08-17 2017-12-12 데이터 객체 저장 방법, 장치, 및 이를 이용한 컴퓨터 프로그램이 저장되는 컴퓨터 판독가능한 저장 매체
US15/947,019 US11586629B2 (en) 2017-08-17 2018-04-06 Method and device of storing data object

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710706073.6A CN107491523B (zh) 2017-08-17 2017-08-17 存储数据对象的方法及装置

Publications (2)

Publication Number Publication Date
CN107491523A true CN107491523A (zh) 2017-12-19
CN107491523B CN107491523B (zh) 2020-05-05

Family

ID=60646201

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710706073.6A Active CN107491523B (zh) 2017-08-17 2017-08-17 存储数据对象的方法及装置

Country Status (3)

Country Link
US (1) US11586629B2 (zh)
KR (1) KR102564170B1 (zh)
CN (1) CN107491523B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647151A (zh) * 2018-04-26 2018-10-12 郑州云海信息技术有限公司 一种全闪系统元数据落盘方法、装置、设备及存储介质
CN110795386A (zh) * 2018-07-31 2020-02-14 杭州海康威视系统技术有限公司 一种数据写入方法和服务端
CN111143290A (zh) * 2019-12-27 2020-05-12 浪潮电子信息产业股份有限公司 一种内存管理方法、系统、设备及计算机可读存储介质
CN111259201A (zh) * 2018-12-03 2020-06-09 北京嘀嘀无限科技发展有限公司 一种数据维护方法和系统
CN111767006A (zh) * 2019-04-02 2020-10-13 英韧科技(上海)有限公司 数据处理方法及装置
CN111897780A (zh) * 2020-07-27 2020-11-06 百望股份有限公司 一种ofd文档的处理方法
CN113590795A (zh) * 2021-08-03 2021-11-02 中国银行股份有限公司 知识点处理方法、装置、服务器、介质及产品

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10936454B2 (en) * 2018-11-21 2021-03-02 International Business Machines Corporation Disaster recovery for virtualized systems
US11537617B2 (en) * 2019-04-30 2022-12-27 Dremio Corporation Data system configured to transparently cache data of data sources and access the cached data
CN111177075B (zh) 2019-12-26 2022-04-22 浪潮电子信息产业股份有限公司 一种垃圾数据的识别方法、系统、电子设备及存储介质
CN113094379B (zh) * 2021-03-23 2023-08-01 杭州电魂网络科技股份有限公司 锚定式用户数据维护方法、装置、设备及介质
US20230153173A1 (en) * 2021-11-15 2023-05-18 International Business Machines Corporation Dynamic database object description adjustment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060195423A1 (en) * 2005-02-28 2006-08-31 Sastry P S System and method for temporal data mining
CN101382948A (zh) * 2008-10-14 2009-03-11 成都市华为赛门铁克科技有限公司 一种文件存储方法、装置和系统
CN103020299A (zh) * 2012-12-29 2013-04-03 天津南大通用数据技术有限公司 全文检索中倒排索引及其追加数据的保存方法及存储装置
CN103559027A (zh) * 2013-10-22 2014-02-05 北京航空航天大学 一种key与value分开存储的key-value存储系统设计方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7624129B2 (en) * 2006-06-30 2009-11-24 Microsoft Corporation Dual logging of changes to a user preference in a computer device
US20100332401A1 (en) * 2009-06-30 2010-12-30 Anand Prahlad Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites
US8412881B2 (en) 2009-12-22 2013-04-02 Intel Corporation Modified B+ tree to store NAND memory indirection maps
US8838895B2 (en) 2011-06-09 2014-09-16 21Vianet Group, Inc. Solid-state disk caching the top-K hard-disk blocks selected as a function of access frequency and a logarithmic system time
US8533231B2 (en) * 2011-08-12 2013-09-10 Nexenta Systems, Inc. Cloud storage system with distributed metadata
CN102760101B (zh) 2012-05-22 2015-03-18 中国科学院计算技术研究所 一种基于ssd 的缓存管理方法及系统
CN102722449B (zh) 2012-05-24 2015-01-21 中国科学院计算技术研究所 基于SSD的Key-Value型本地存储方法及系统
US10075523B2 (en) * 2013-04-01 2018-09-11 International Business Machines Corporation Efficient storage of data in a dispersed storage network
US9378088B1 (en) * 2014-12-30 2016-06-28 Datadirect Networks, Inc. Method and system for reclamation of distributed dynamically generated erasure groups for data migration between high performance computing architectures and data storage using non-deterministic data addressing
EP3040886A1 (en) * 2015-01-05 2016-07-06 Iguazio Systems Ltd. Service oriented data management and architecture
WO2016207875A1 (en) * 2015-06-22 2016-12-29 Photomyne Ltd. System and method for detecting objects in an image
CN106227677B (zh) 2016-07-20 2018-11-20 浪潮电子信息产业股份有限公司 一种变长缓存元数据管理的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060195423A1 (en) * 2005-02-28 2006-08-31 Sastry P S System and method for temporal data mining
CN101382948A (zh) * 2008-10-14 2009-03-11 成都市华为赛门铁克科技有限公司 一种文件存储方法、装置和系统
CN103020299A (zh) * 2012-12-29 2013-04-03 天津南大通用数据技术有限公司 全文检索中倒排索引及其追加数据的保存方法及存储装置
CN103559027A (zh) * 2013-10-22 2014-02-05 北京航空航天大学 一种key与value分开存储的key-value存储系统设计方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647151B (zh) * 2018-04-26 2021-10-29 郑州云海信息技术有限公司 一种全闪系统元数据落盘方法、装置、设备及存储介质
CN108647151A (zh) * 2018-04-26 2018-10-12 郑州云海信息技术有限公司 一种全闪系统元数据落盘方法、装置、设备及存储介质
CN110795386A (zh) * 2018-07-31 2020-02-14 杭州海康威视系统技术有限公司 一种数据写入方法和服务端
CN110795386B (zh) * 2018-07-31 2022-07-01 杭州海康威视系统技术有限公司 一种数据写入方法和服务端
CN111259201A (zh) * 2018-12-03 2020-06-09 北京嘀嘀无限科技发展有限公司 一种数据维护方法和系统
CN111259201B (zh) * 2018-12-03 2023-08-18 北京嘀嘀无限科技发展有限公司 一种数据维护方法和系统
CN111767006B (zh) * 2019-04-02 2021-03-16 英韧科技(上海)有限公司 数据处理方法及装置
CN111767006A (zh) * 2019-04-02 2020-10-13 英韧科技(上海)有限公司 数据处理方法及装置
US11494117B2 (en) 2019-04-02 2022-11-08 Innogrit Technologies Co., Ltd. Method and system for data processing
CN111143290A (zh) * 2019-12-27 2020-05-12 浪潮电子信息产业股份有限公司 一种内存管理方法、系统、设备及计算机可读存储介质
CN111897780A (zh) * 2020-07-27 2020-11-06 百望股份有限公司 一种ofd文档的处理方法
CN113590795A (zh) * 2021-08-03 2021-11-02 中国银行股份有限公司 知识点处理方法、装置、服务器、介质及产品
CN113590795B (zh) * 2021-08-03 2024-02-20 中国银行股份有限公司 知识点处理方法、装置、服务器、介质及产品

Also Published As

Publication number Publication date
US20190057090A1 (en) 2019-02-21
US11586629B2 (en) 2023-02-21
CN107491523B (zh) 2020-05-05
KR20190019805A (ko) 2019-02-27
KR102564170B1 (ko) 2023-08-04

Similar Documents

Publication Publication Date Title
CN107491523A (zh) 存储数据对象的方法及装置
US10303596B2 (en) Read-write control method for memory, and corresponding memory and server
US8225029B2 (en) Data storage processing method, data searching method and devices thereof
CN105574104B (zh) 一种基于ObjectStore的LogStructure存储系统及其数据写入方法
US9323685B2 (en) Data storage space processing method and processing system, and data storage server
US10198363B2 (en) Reducing data I/O using in-memory data structures
CN108268219B (zh) 一种处理io请求的方法及装置
KR20190119080A (ko) 다중-스트림 저장 장치를 위한 스트림 선택
KR20190117001A (ko) 유지관리 동작들을 위한 병합 트리 수정들
CN110555001B (zh) 数据处理方法、装置、终端及介质
KR101672901B1 (ko) 분산 파일 시스템에서 소형 파일에 대한 접근성 향상을 위한 캐시 관리 시스템
CN105117351B (zh) 向缓存写入数据的方法及装置
CN104503703B (zh) 缓存的处理方法和装置
CN109144413A (zh) 一种元数据管理方法及装置
CN113312300B (zh) 一种融合数据传输和存储的非易失内存缓存方法
WO2013075306A1 (zh) 数据访问方法和装置
CN110795363B (zh) 一种存储介质的热页预测方法和页面调度方法
CN111159176A (zh) 一种海量流数据的存储和读取的方法和系统
CN104156432A (zh) 一种文件访问方法
US20140320498A1 (en) Terminal device, information processing method, and computer program product
CN109002400B (zh) 一种内容感知型计算机缓存管理系统及方法
CN106874329A (zh) 数据库表索引的实现方法和装置
CN115774699B (zh) 数据库共享字典压缩方法、装置、电子设备及存储介质
KR20180135390A (ko) 대용량 ssd 장치를 위한 데이터 저널링 방법
KR102214697B1 (ko) 데이터베이스 관리 시스템에서 데이터 저장을 위한 공간 관리를 제공하는 컴퓨터 프로그램

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
GR01 Patent grant
GR01 Patent grant