CN107450856A - 存储数据的写入方法、读取方法以及相应的装置、终端 - Google Patents
存储数据的写入方法、读取方法以及相应的装置、终端 Download PDFInfo
- Publication number
- CN107450856A CN107450856A CN201710681062.7A CN201710681062A CN107450856A CN 107450856 A CN107450856 A CN 107450856A CN 201710681062 A CN201710681062 A CN 201710681062A CN 107450856 A CN107450856 A CN 107450856A
- Authority
- CN
- China
- Prior art keywords
- data
- read
- layer
- write
- compressed
- 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
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000013500 data storage Methods 0.000 claims abstract description 48
- 238000013507 mapping Methods 0.000 claims abstract description 45
- 238000003860 storage Methods 0.000 claims abstract description 17
- 238000007906 compression Methods 0.000 claims description 28
- 230000006835 compression Effects 0.000 claims description 26
- 230000006837 decompression Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 abstract description 15
- 230000005540 biological transmission Effects 0.000 abstract description 11
- 230000008569 process Effects 0.000 abstract description 7
- 238000004590 computer program Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
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/061—Improving I/O performance
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
Abstract
本发明提供了一种存储数据的写入方法、读取方法以及相应的装置、终端,该写入方法具体包括:内核接收数据存储请求,利用内核中的映射框架层对数据存储请求包括的原始数据进行压缩,得到压缩数据,再利用内核中的读写调度层将压缩数据写入硬件存储介质,通过对数据进行压缩处理来优化磁盘使用率,并提高数据的传输效率,从而提升系统性能;该读取方法具体包括:内核接收数据读取请求;利用内核中的读写调度层从硬件存储介质读取与读取请求对应的压缩数据;再利用内核中的映射框架层对压缩数据进行解压缩来获取原始数据,并发送原始数据,提高数据的传输效率,从而提升系统性能,数据处理过程对用户空间保持透明,提高用户体验。
Description
技术领域
本发明涉及Linux技术领域,具体而言,涉及一种存储数据的写入方法、读取方法以及相应的装置、终端。
背景技术
Linux是一种开源电脑操作系统内核,符合POSIX标准的类Unix操作系统,支持多用户、多任务、支持多线程和多CPU。它继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。但是,基于Linux内核的操作系统中也存在缺点,比如进行大文件拷贝的时候会感觉到非常慢,因为要实现文件拷贝,必须进入内核,从磁盘读取文件内容,而磁盘等块设备的平均访问时间很长,每个操作都需要几个毫秒才能完成。然而随着大数据等技术的发展,现代计算机经常都要处理大量的数据,因此对于操作系统的性能要求也越来越高,尤其涉及一些I/O密集型应用场景,I/O的效率往往成为系统性能的瓶颈,这时提高系统I/O效率就意味着提高了操作系统的性能。
发明内容
有鉴于此,本发明的目的在于提供一种存储数据的写入方法、读取方法以及相应的装置、终端,以解决如何提高基于Linux内核的操作系统中I/O效率的问题:
本发明的实施例提出了一种存储数据的写入方法,应用于基于Linux内核的操作系统,所述linux内核中至少包括映射框架层和读写调度层,所述写入方法包括:
内核接收数据存储请求;
通过所述映射框架层对所述数据存储请求包括的原始数据进行压缩,得到压缩数据;
通过所述读写调度层将压缩数据写入硬件存储介质。
其中,所述映射框架层包括预设的压缩模块,所述通过所述映射框架层对所述数据存储请求包括的原始数据进行压缩,得到压缩数据的步骤,包括:
由压缩模块对所述存储请求包括的原始数据进行压缩以生成压缩数据,并建立原始数据与压缩数据之间的映射关系;
通过映射接口将所述压缩数据和所述映射关系传送给读写调度层。
实际使用时,所述通过所述读写调度层将压缩数据写入硬件存储介质的步骤,包括:
通过所述读写调度层将压缩数据保存在硬件存储介质中相应的块位。
本发明的实施例还提出了一种存储数据的读取方法,应用于基于Linux内核的操作系统,所述linux内核中至少包括映射框架层和读写调度层,所述读取方法包括:
内核接收数据读取请求;
通过所述读写调度层从所述硬件存储介质读取与所述读取请求对应的压缩数据;
通过所述映射框架层对所述压缩数据进行解压缩来获取原始数据,并发送所述原始数据。
进一步地,所述读取方法还包括:
通过所述读写调度层从所述硬件存储介质读取预建立的映射关系,所述映射关系为原始数据与压缩数据之间的映射关系。
其中,所述映射框架层包括预设的压缩模块,所述通过所述映射框架层对所述压缩数据进行解压缩来获取原始数据的步骤,包括:
由压缩模块根据所述映射关系,将所述压缩数据解压缩为原始数据。
本发明的实施例提出了一种存储数据的写入装置,应用于基于Linux内核的操作系统,所述linux内核中至少包括映射框架层和读写调度层,所述写入装置包括:
存储请求接收模块,用于控制内核接收数据存储请求;
数据压缩模块,用于控制所述映射框架层对所述数据存储请求包括的原始数据进行压缩,得到压缩数据;
数据写入模块,用于控制所述读写调度层将压缩数据写入硬件存储介质。
本发明的实施例还提出了一种存储数据的读取装置,应用于基于Linux内核的操作系统,所述linux内核中至少包括映射框架层和读写调度层,所述读取装置包括:
读取请求接收模块,用于控制内核接收数据读取请求;
数据读取模块,用于控制所述读写调度层从所述硬件存储介质读取与所述读取请求对应的压缩数据;
数据解压缩模块,用于控制所述映射框架层对所述压缩数据进行解压缩来获取原始数据,并发送所述原始数据。
其中,所述数据读取模块还用于控制所述读写调度层从所述硬件存储介质读取预建立的映射关系,所述映射关系为原始数据与压缩数据之间的映射关系。
本发明的实施例还提出了一种终端,包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现上述任一项所述的方法。
本发明实施例提供的存储数据的写入方法、读取方法以及相应的装置、终端,该写入方法具体包括:内核接收数据存储请求,利用内核中的映射框架层对数据存储请求包括的原始数据进行压缩,得到压缩数据,再利用内核中的读写调度层将压缩数据写入硬件存储介质,通过对数据进行压缩处理来优化磁盘使用率,并提高数据在磁盘和网络中的传输效率,从而提升系统处理数据的性能;该读取方法具体包括:内核接收数据读取请求;利用内核中的读写调度层从硬件存储介质读取与读取请求对应的压缩数据;再利用内核中的映射框架层对压缩数据进行解压缩来获取原始数据,并发送原始数据,通过对压缩数据进行传输,提高数据在磁盘和网络中的传输效率,从而提升系统处理数据的性能,再解压缩成原始数据供用户查阅,数据处理过程对用户空间保持透明,提高用户体验。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的存储数据的写入方法的流程示意图;
图2为本发明实施例提供的存储数据的存储结构的实例示意图;
图3为本发明实施例提供的读写数据的系统流程示意图;
图4为本发明实施例提供的存储数据的读取方法的流程示意图;
图5为本发明实施例提供的存储数据的写入装置的结构示意图;
图6为本发明实施例提供的存储数据的读取装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到对于I/O密集型应用场景,系统的性能主要取决于磁盘I/O效率,于是提高系统I/O效率某种程序上就意味着提高了操作系统的性能。基于此,本发明实施例提供了一种存储数据的写入方法、读取方法以及相应的装置、终端,下面通过实施例进行描述。
本发明的实施例提供了一种存储数据的写入方法,应用于基于Linux内核的操作系统,所述linux内核中至少包括映射框架层和读写调度层,如图1所示,所述写入方法具体包括如下步骤:
S101:内核接收数据存储请求;
用户空间发起的存储数据的操作,由内核接收数据存储请求,并在内核空间执行后续步骤,对用户空间保持透明,用户不需要进行多余的操作,只需正常存储就能实现高传输效率和磁盘使用率。
S102:通过所述映射框架层对所述数据存储请求包括的原始数据进行压缩,得到压缩数据;
在本发明实施例中,映射框架层基于Linux内核中的Device mapper映射机制而建立的。Device mapper是Linux 2.6内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略。Devicemapper的内核相关代码已经作为Linux 2.6内核发布版的一部分集成到内核源码中了,相关代码在内核源码的driver/md/目录中。
为了利用device mapper机制实现数据的压缩存储,映射框架层需预设dm-compression压缩模块,由dm-compression压缩模块对存储请求包括的原始数据进行压缩以生成压缩数据,并建立原始数据与压缩数据之间的映射关系。
压缩简单来说就是一个消除冗余的过程,相当于用一种更精简的形式来表达相同的内容,将输入的数据进行重构。其中数据的重构算法可以选用一些内核支持的算法,例如LZ4压缩算法。
原始数据与压缩数据之间需要建立映射关系,Device mapper的本质功能就是根据映射关系,重新描述I/O处理规则。例如,建立逻辑地址与原始数据大小、压缩算法、存储数据(压缩数据)大小、压缩数据等的映射关系,接收到用户空间发起的读取数据的操作时,可以根据映射关系去读取相应的数据。
进一步地,通过映射接口将所述压缩数据和所述映射关系传送给读写调度层。映射接口是映射框架层连接读写调度层的接口,作为示例地,可以实现以映射表的形式将映射关系和压缩数据传送给读写调度层,以便执行步骤S103。
S103:通过所述读写调度层将压缩数据写入硬件存储介质。
进一步地,通过读写调度层的读写调度接口将压缩数据和映射关系写入硬件存储介质。读写调度接口是读写调度层连接硬件存储介质的接口。在本发明实施例中,读写调度层是利用I/O调度器来提高磁盘的写入效率。因为硬件存储介质中常用的磁盘是通过磁头来读写数据的,磁头在定位扇区的过程中需要做机械的移动。相比于电和磁的传递,机械运动是非常慢速的,可以通过I/O调度器实现在完成现有请求的前提下,让磁头尽可能少移动的目的。
较佳地,通过所述读写调度层将压缩数据保存在硬件存储介质中相应的块位,即利用device mapper机制实现数据的原位压缩存储。如图2所示做具体说明:
例如,Block(块)大小为4K,Sector(扇区)大小为512B,每个Block由8个Sector组成。其中,Super(超级块,是硬盘分区开头)和Meta(元块,位于超级块的后面)各占一个Block,Super用于存储原始数据大小和压缩算法等信息,Meta记录压缩数据的大小。压缩数据存储在后续Block相应的Sector中,从第一个逻辑Sector开始存储。例如原始数据为4K,需要占用一个Block,包括Sector 0~Sector 7的8个Sector。而压缩数据为1500B,需要占用3个Sector,于是可将压缩数据存储在Sector0~Sector2相应的位置,Sector3~Sector7相应的位置空置。
本发明实施例提供的存储数据的写入方法,采用内核接收数据存储请求,利用内核中的映射框架层对数据存储请求包括的原始数据进行压缩,得到压缩数据,再利用内核中的读写调度层将压缩数据写入硬件存储介质,通过对数据进行压缩处理来优化磁盘使用率,并提高数据在磁盘和网络中的传输效率,从而提升系统处理数据的性能。
本发明实施例中,可参考图3,示出了用户空间发起的读写数据的具体操作流程。当用户空间发起读写操作系统调用,会进入内核处理该读写请求。若请求为写操作,由映射框架层处理数据流后经读写调度层向硬件存储介质写入;若请求为读操作,由映射框架层处理经读写调度层从硬件存储介质读取的数据流。也就是说,读写操作的请求都在内核中经过处理,在用户空间和内核之间传输的数据都是用户知晓的,而在内核和硬件存储介质中传输的数据都是经过压缩的简化数据,减小读写量。因此,便可达成2个特点:
特点一:有效提高系统I/O效率,从而提高系统性能。
特点二:在内核完成处理过程,对用户空间透明,提高用户体验。
考虑到存储数据的读取方法与上述写入方法稍有不同,下面将对读取方法作具体介绍。
本发明的实施例还提出了一种存储数据的读取方法,应用于基于Linux内核的操作系统,所述linux内核中至少包括映射框架层和读写调度层,如图4所示,所述读取方法具体包括如下步骤:
S401:内核接收数据读取请求;
用户空间发起的读取数据的操作,由内核接收数据读取请求,并在内核空间执行后续步骤,对用户空间保持透明,用户不需要进行多余的操作,只需正常操作就能实现高效读取。
S402:所述读写调度层从所述硬件存储介质读取与所述读取请求对应的压缩数据;
进一步地,读取过程还包括:所述读写调度层从所述硬件存储介质读取预建立的映射关系,所述映射关系为原始数据与压缩数据之间的映射关系。
从上文可知,读写调度层将压缩数据和映射关系都写入硬件存储介质,那么在接收到数据读取请求时,需要从硬件存储介质读取压缩数据和映射关系,以便按照映射关系解压缩成原始数据,供用户查阅。同理,也可以通过读写调度层的读写调度接口从硬件存储介质读取压缩数据和映射关系。读写调度层同样可以利用I/O调度器来提高磁盘的读取效率。
S403:通过所述映射框架层对所述压缩数据进行解压缩来获取原始数据,并发送所述原始数据。
其中,从上文可知,映射框架层包括基于device mapper机制预设的dm-compression压缩模块。当操作系统发起读取操作系统调用时,从硬件存储介质读取到压缩数据的数据流后,再由压缩模块dm-compression将其解压缩,解压缩的过程简单来说就是根据原始数据与压缩数据之间的映射关系,将数据恢复重建为原始数据的字节序列。以上所有操作在内核完成,对用户空间来说是透明的。
本发明实施例提供的存储数据的读取方法,采用内核接收数据读取请求,利用内核中的读写调度层从所述硬件存储介质读取与所述读取请求对应的压缩数据,映射框架层对所述压缩数据进行解压缩来获取原始数据,并发送所述原始数据。通过对压缩数据进行传输,提高数据在磁盘和网络中的传输效率,从而提升系统处理数据的性能,再解压缩成原始数据供用户查阅,对用户空间保持透明,提高用户体验。
本发明的实施例还提供了一种存储数据的写入装置,如图5所示,包括存储请求接收模块501,数据压缩模块502,和数据写入模块503。
存储请求接收模块501,用于控制内核接收数据存储请求;
数据压缩模块502,用于控制所述映射框架层对所述数据存储请求包括的原始数据进行压缩,得到压缩数据;
数据写入模块503,用于控制所述读写调度层将压缩数据写入硬件存储介质。
具体地,数据压缩模块502包括压缩单元和传送单元。
压缩单元用于控制压缩模块对所述存储请求包括的原始数据进行压缩以生成压缩数据,并建立原始数据与压缩数据之间的映射关系;
传送单元用于控制映射接口将所述压缩数据和所述映射关系传送给读写调度层。
数据写入模块503包括块位写入单元。
块位写入单元用于控制所述读写调度层将压缩数据保存在硬件存储介质中相应的块位。
本发明的实施例还提出了一种存储数据的读取装置,如图6所示,包括:读取请求接收模块601、数据读取模块602和数据解压缩模块603。
读取请求接收模块601,用于控制内核接收数据读取请求;
数据读取模块602,用于控制所述读写调度层从所述硬件存储介质读取与所述读取请求对应的压缩数据;
数据解压缩模块603,用于控制所述映射框架层对所述压缩数据进行解压缩来获取原始数据,并发送所述原始数据。
继续如图6所示,数据读取模块602还用于控制所述读写调度层从所述硬件存储介质读取预建立的映射关系,所述映射关系为原始数据与压缩数据之间的映射关系。
具体地,数据解压缩模块603包括数据解压缩单元。
数据解压缩单元用于根据所述映射关系,将所述压缩数据解压缩为原始数据。
本发明的实施例还提供了一种终端,包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现上述任一项所述的方法。
本发明实施例提供的存储数据的写入装置、读取装置,通过对数据进行压缩处理来优化磁盘使用率,并提高数据在磁盘和网络中的传输效率,从而提升系统处理数据的性能。
本发明实施例所提供的存储数据的写入方法、读取方法以及相应的装置、终端可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种存储数据的写入方法,应用于基于linux内核的操作系统,其特征在于,所述linux内核中至少包括映射框架层和读写调度层,所述写入方法包括:
内核接收数据存储请求;
通过所述映射框架层对所述数据存储请求包括的原始数据进行压缩,得到压缩数据;
通过所述读写调度层将压缩数据写入硬件存储介质。
2.根据权利要求1所述的写入方法,其特征在于,所述映射框架层包括预设的压缩模块,所述通过所述映射框架层对所述数据存储请求包括的原始数据进行压缩,得到压缩数据的步骤,包括:
由压缩模块对所述存储请求包括的原始数据进行压缩以生成压缩数据,并建立原始数据与压缩数据之间的映射关系;
通过映射接口将所述压缩数据和所述映射关系传送给读写调度层。
3.根据权利要求1所述的写入方法,其特征在于,所述通过所述读写调度层将压缩数据写入硬件存储介质的步骤,包括:
通过所述读写调度层将压缩数据保存在硬件存储介质中相应的块位。
4.一种存储数据的读取方法,应用于基于linux内核的操作系统,其特征在于,所述linux内核中至少包括映射框架层和读写调度层,所述读取方法包括:
内核接收数据读取请求;
通过所述读写调度层从所述硬件存储介质读取与所述读取请求对应的压缩数据;
通过所述映射框架层对所述压缩数据进行解压缩来获取原始数据,并发送所述原始数据。
5.根据权利要求4所述的读取方法,其特征在于,所述读取方法还包括:
通过所述读写调度层从所述硬件存储介质读取预建立的映射关系,所述映射关系为原始数据与压缩数据之间的映射关系。
6.根据权利要求5所述的读取方法,其特征在于,所述映射框架层包括预设的压缩模块,所述通过所述映射框架层对所述压缩数据进行解压缩来获取原始数据的步骤,包括:
由压缩模块根据所述映射关系,将所述压缩数据解压缩为原始数据。
7.一种存储数据的写入装置,应用于基于linux内核的操作系统,其特征在于,所述linux内核中至少包括映射框架层和读写调度层,所述写入装置包括:
存储请求接收模块,用于控制内核接收数据存储请求;
数据压缩模块,用于控制所述映射框架层对所述数据存储请求包括的原始数据进行压缩,得到压缩数据;
数据写入模块,用于控制所述读写调度层将压缩数据写入硬件存储介质。
8.一种存储数据的读取装置,应用于基于linux内核的操作系统,其特征在于,所述linux内核中至少包括映射框架层和读写调度层,所述读取装置包括:
读取请求接收模块,用于控制内核接收数据读取请求;
数据读取模块,用于控制所述读写调度层从所述硬件存储介质读取与所述读取请求对应的压缩数据;
数据解压缩模块,用于控制所述映射框架层对所述压缩数据进行解压缩来获取原始数据,并发送所述原始数据。
9.根据权利要求8所述的读取装置,其特征在于,所述数据读取模块还用于控制所述读写调度层从所述硬件存储介质读取预建立的映射关系,所述映射关系为原始数据与压缩数据之间的映射关系。
10.一种终端,包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710681062.7A CN107450856A (zh) | 2017-08-10 | 2017-08-10 | 存储数据的写入方法、读取方法以及相应的装置、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710681062.7A CN107450856A (zh) | 2017-08-10 | 2017-08-10 | 存储数据的写入方法、读取方法以及相应的装置、终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107450856A true CN107450856A (zh) | 2017-12-08 |
Family
ID=60491519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710681062.7A Pending CN107450856A (zh) | 2017-08-10 | 2017-08-10 | 存储数据的写入方法、读取方法以及相应的装置、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107450856A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445686A (zh) * | 2018-09-28 | 2019-03-08 | 方信息科技(上海)有限公司 | 一种存储磁盘以及存取数据的方法 |
CN112035071A (zh) * | 2020-09-27 | 2020-12-04 | 万兴科技(湖南)有限公司 | 磁盘数据读取方法、装置、计算机设备及存储介质 |
CN112905127A (zh) * | 2021-03-25 | 2021-06-04 | 北京金风慧能技术有限公司 | 数据处理方法和数据处理系统 |
CN114153383A (zh) * | 2021-11-05 | 2022-03-08 | 广州文远知行科技有限公司 | 一种车辆自动驾驶系统的数据压缩存储方法及装置 |
CN114422452A (zh) * | 2021-12-14 | 2022-04-29 | 杭州安恒信息安全技术有限公司 | 数据传输方法、装置、处理设备、存储介质和芯片 |
WO2024046082A1 (zh) * | 2022-08-31 | 2024-03-07 | 华为技术有限公司 | 一种图片处理方法、系统、电子设备、介质及程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102203718A (zh) * | 2011-05-26 | 2011-09-28 | 华为技术有限公司 | 内存转储处理方法和装置及内存转储系统 |
US20120144146A1 (en) * | 2010-12-03 | 2012-06-07 | International Business Machines Corporation | Memory management using both full hardware compression and hardware-assisted software compression |
CN105117176A (zh) * | 2015-09-09 | 2015-12-02 | 浪潮(北京)电子信息产业有限公司 | 一种数据读写方法和系统 |
CN106648442A (zh) * | 2015-10-29 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种元数据节点的内存镜像方法、装置 |
-
2017
- 2017-08-10 CN CN201710681062.7A patent/CN107450856A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120144146A1 (en) * | 2010-12-03 | 2012-06-07 | International Business Machines Corporation | Memory management using both full hardware compression and hardware-assisted software compression |
CN102203718A (zh) * | 2011-05-26 | 2011-09-28 | 华为技术有限公司 | 内存转储处理方法和装置及内存转储系统 |
CN105117176A (zh) * | 2015-09-09 | 2015-12-02 | 浪潮(北京)电子信息产业有限公司 | 一种数据读写方法和系统 |
CN106648442A (zh) * | 2015-10-29 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种元数据节点的内存镜像方法、装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445686A (zh) * | 2018-09-28 | 2019-03-08 | 方信息科技(上海)有限公司 | 一种存储磁盘以及存取数据的方法 |
CN109445686B (zh) * | 2018-09-28 | 2020-11-17 | 方一信息科技(上海)有限公司 | 一种存储磁盘以及存取数据的方法 |
CN112035071A (zh) * | 2020-09-27 | 2020-12-04 | 万兴科技(湖南)有限公司 | 磁盘数据读取方法、装置、计算机设备及存储介质 |
CN112905127A (zh) * | 2021-03-25 | 2021-06-04 | 北京金风慧能技术有限公司 | 数据处理方法和数据处理系统 |
CN114153383A (zh) * | 2021-11-05 | 2022-03-08 | 广州文远知行科技有限公司 | 一种车辆自动驾驶系统的数据压缩存储方法及装置 |
CN114422452A (zh) * | 2021-12-14 | 2022-04-29 | 杭州安恒信息安全技术有限公司 | 数据传输方法、装置、处理设备、存储介质和芯片 |
WO2024046082A1 (zh) * | 2022-08-31 | 2024-03-07 | 华为技术有限公司 | 一种图片处理方法、系统、电子设备、介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107450856A (zh) | 存储数据的写入方法、读取方法以及相应的装置、终端 | |
RU2767447C2 (ru) | Процессор нейронной сети, использующий сжатие и распаковку данных активации для снижения использования пропускной способности памяти | |
US9477682B1 (en) | Parallel compression of data chunks of a shared data object using a log-structured file system | |
CN102867035B (zh) | 一种分布式文件系统集群高可用方法和装置 | |
CN103020205A (zh) | 一种分布式文件系统上基于硬件加速卡的压缩解压缩方法 | |
US11442627B2 (en) | Data compression utilizing low-ratio compression and delayed high-ratio compression | |
US8566636B2 (en) | Application recovery in a file system | |
US20220360628A1 (en) | Technologies for conversion of acquirer files for big data ingestion | |
CN103020257A (zh) | 数据操作的实现方法和装置 | |
US10558398B2 (en) | Reducing read latency | |
CN109951553B (zh) | 数据处理方法、系统、电子设备以及计算机可读存储介质 | |
CN107632780A (zh) | 一种基于分布式存储系统的条带卷实现方法及其存储架构 | |
CN105426472A (zh) | 分布式计算系统及其数据处理方法 | |
CN109032788B (zh) | 预留资源池动态调度方法、装置、计算机设备及存储介质 | |
CN107729536A (zh) | 一种数据存储方法和装置 | |
Adams et al. | Respecting the block interface–computational storage using virtual objects | |
WO2023179742A1 (zh) | 数据访问方法及系统、硬件卸载设备、电子设备及介质 | |
CN106980618B (zh) | 基于MongoDB分布式集群架构的文件存储方法和系统 | |
CN105164590A (zh) | 用于减少数据量的装置 | |
US20190243807A1 (en) | Replication of data in a distributed file system using an arbiter | |
CN107748651A (zh) | 磁盘阵列的挂载方法、Android设备和存储介质 | |
US20230128077A1 (en) | System and Method for Aggregation of Write Commits To Control Written Block Size | |
CN111708601A (zh) | 一种面向云计算的智能存储网关、系统及其控制方法 | |
US11573899B1 (en) | Transparent interleaving of compressed cache lines | |
CN109977079A (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 |
Application publication date: 20171208 |
|
RJ01 | Rejection of invention patent application after publication |