CN111880743B - 一种数据存储方法、装置、设备及存储介质 - Google Patents

一种数据存储方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111880743B
CN111880743B CN202010745394.9A CN202010745394A CN111880743B CN 111880743 B CN111880743 B CN 111880743B CN 202010745394 A CN202010745394 A CN 202010745394A CN 111880743 B CN111880743 B CN 111880743B
Authority
CN
China
Prior art keywords
data
thread
data reduction
processing
main
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
Application number
CN202010745394.9A
Other languages
English (en)
Other versions
CN111880743A (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.)
Beijing Inspur Data Technology Co Ltd
Original Assignee
Beijing Inspur Data Technology 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 Beijing Inspur Data Technology Co Ltd filed Critical Beijing Inspur Data Technology Co Ltd
Priority to CN202010745394.9A priority Critical patent/CN111880743B/zh
Publication of CN111880743A publication Critical patent/CN111880743A/zh
Application granted granted Critical
Publication of CN111880743B publication Critical patent/CN111880743B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Abstract

本发明公开了一种数据存储方法,包括:利用有名管道接收主业务进程发送的存储请求;通过数据缩减处理线程对存储请求携带的待存储数据执行数据缩减操作,得到处理数据;通过有名管道向主业务进程发送处理完成的通知信息,以使主业务进程将处理数据存储至磁盘。可见,本申请在执行数据缩减操作时,是利用独立设置的数据缩减处理线程进行处理,该数据缩减处理线程与主业务进程通过有名管道进行通信,通过该方式,可减少对主业务进程的修改,使传统存储设备具有数据缩减功能,减少存储数据所占的容量,降低运营成本。本发明还公开了一种数据存储装置、设备及存储介质,同样能实现上述技术效果。

Description

一种数据存储方法、装置、设备及存储介质
技术领域
本发明涉及数据存储技术领域,更具体地说,涉及一种数据存储方法、装置、设备及存储介质。
背景技术
目前,伴随着信息产业化的发展,信息数据增速明显,需要存储的数据规模越来越大,对存储设备的容量提出了更高的要求,成本也在不断增加。传统的存储设备一般只具有普通卷和精简卷,如果要让传统的存储设备具有数据缩减功能,减少存储数据所占的容量,降低运营成本,则需要对存储设备的主业务进程进行修改,该方式操作繁琐,不利于存储设备的快速开发。
发明内容
本发明的目的在于提供一种数据存储方法、装置、设备及存储介质,以使传统存储设备具有数据缩减功能,减少存储数据所占的容量,降低运营成本。
为实现上述目的,本发明提供一种数据存储方法,包括:
利用有名管道接收主业务进程发送的存储请求;
通过数据缩减处理线程对所述存储请求携带的待存储数据执行数据缩减操作,得到处理数据;其中,所述数据缩减处理线程为利用所述主业务进程发送的配置信息创建的;
通过所述有名管道向所述主业务进程发送处理完成的通知信息,以使所述主业务进程将所述处理数据存储至磁盘。
其中,所述通过数据缩减处理线程对所述存储请求携带的待存储数据执行数据缩减操作,得到处理数据,包括:
数据缩减主线程接收通信线程发送的存储请求;其中,所述存储请求为所述通信线程利用有名管道接收的主业务进程的发送的请求;
所述数据缩减主线程将所述存储请求携带的待存储数据,发送至对应的数据缩减处理线程,以通过对应的数据缩减处理线程执行数据缩减操作,得到处理数据。
其中,所述数据缩减主线程将所述存储请求携带的待存储数据,发送至对应的数据缩减处理线程,以通过对应的数据缩减处理线程执行数据缩减操作,得到处理数据,包括:
所述数据缩减主线程将所述存储请求携带的待存储数据发送至重删线程,通过所述重删线程对所述待存储数据执行重删操作,获得重删数据;
所述数据缩减主线程将所述重删数据发送至压缩线程,通过所述压缩线程对所述重删数据执行压缩操作,获得处理数据。
其中,所述数据存储方法还包括:
利用所述有名管道接收所述主业务进程发送的数据读取请求;
判断与所述数据读取请求对应的待读取的目标数据是否存储在缓存区;
若否,则通过所述有名管道向所述主业务进程发送目标数据不在缓存区中的通知信息,以使所述主业务进程从所述磁盘中读取对应的数据缩减数据后,通过所述数据缩减处理线程对所述数据缩减数据进行还原处理,得到所述目标数据;
若是,则直接将缓存区中的目标数据通过所述有名管道发送至所述主业务进程;其中,所述缓存区中存储了通过所述数据缩减处理线程进行还原处理的历史数据。
其中,通过所述数据缩减处理线程对所述数据缩减数据进行还原处理,得到所述目标数据,包括:
所述数据缩减主线程接收所述通信线程发送的数据缩减数据;其中,所述数据缩减数据为所述通信线程利用有名管道接收的主业务进程的发送的;
所述数据缩减主线程将所述数据缩减数据发送至所述压缩线程,通过所述压缩线程对所述数据缩减数据执行解压操作,获得解压数据;
所述数据缩减主线程将所述解压数据发送至所述重删线程,通过所述重删线程对所述解压数据执行重构操作,获得目标数据;
所述数据缩减主线程将所述目标数据发送至所述通信线程,以使所述通信线程通过所述有名管道将所述目标数据发送至所述主业务进程。
为实现上述目的,本发明进一步提供一种数据存储装置,包括:
存储请求接收模块,用于利用有名管道接收主业务进程发送的存储请求;
数据处理模块,用于通过数据缩减处理线程对所述存储请求携带的待存储数据执行数据缩减操作,得到处理数据;其中,所述数据缩减处理线程为利用所述主业务进程发送的配置信息创建的;
通知信息发送模块,用于通过所述有名管道向所述主业务进程发送处理完成的通知信息,以使所述主业务进程将所述处理数据存储至磁盘。
其中,所述处理模块包括:
请求接收单元,用于通过数据缩减主线程接收通信线程发送的存储请求;其中,所述存储请求为所述通信线程利用有名管道接收的主业务进程的发送的请求;
数据处理单元,用于通过所述数据缩减主线程将所述存储请求携带的待存储数据,发送至对应的数据缩减处理线程,以通过对应的数据缩减处理线程执行数据缩减操作,得到处理数据。
其中,所述数据处理单元包括:
重删子单元,用于通过所述数据缩减主线程将所述存储请求携带的待存储数据发送至重删线程,通过所述重删线程对所述待存储数据执行重删操作,获得重删数据;
压缩子单元,用于通过所述数据缩减主线程将所述重删数据发送至压缩线程,通过所述压缩线程对所述重删数据执行压缩操作,获得处理数据。
为实现上述目的,本发明进一步提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述的数据存储方法的步骤。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据存储方法的步骤。
通过以上方案可知,本发明实施例提供的一种数据存储方法,包括:利用有名管道接收主业务进程发送的存储请求;通过数据缩减处理线程对所述存储请求携带的待存储数据执行数据缩减操作,得到处理数据;其中,所述数据缩减处理线程为利用所述主业务进程发送的配置信息创建的;通过所述有名管道向所述主业务进程发送处理完成的通知信息,以使所述主业务进程将所述处理数据存储至磁盘。可以看出,本申请在执行数据缩减操作时,是利用独立设置的数据缩减处理线程进行处理,该数据缩减处理线程与主业务进程通过有名管道进行通信,通过该方式,可减少对主业务进程的修改,使传统存储设备具有数据缩减功能,减少存储数据所占的容量,降低运营成本。本发明还公开了一种数据存储装置、设备及存储介质,同样能实现上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种数据存储方法流程示意图;
图2为本发明实施例公开的一种执行数据缩减操作的系统结构示意图;
图3为本发明实施例公开的一种数据存储装置结构示意图;
图4为本发明实施例公开的一种电子设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种数据存储方法、装置、设备及存储介质,以使传统存储设备具有数据缩减功能,减少存储数据所占的容量,降低运营成本。
参见图1,本发明实施例提供的一种数据存储方法,包括:
S101、利用有名管道接收主业务进程发送的存储请求;
具体的,本申请在添加数据缩减功能时,为了减少对主业务线程的影响,通过设置独立的数据缩减任务来执行数据缩减功能。因此,本申请所述的数据存储方法的执行主体为数据缩减任务,该数据缩减任务采用与主业务进程独立的线程设计,至少包括对数据执行缩减操作的数据缩减处理线程,并通过有名管道与主业务进程实现通信。并且,本申请中数据缩减处理线程所执行的数据缩减操作可以包括至少一种数据缩减操作,如:可以包括数据压缩操作和/或数据重删操作,相对应的数据缩减处理线程可以为压缩线程和/或重删线程。该有名管道为FIFO管道,在进程中使用文件来传输数据。
需要说明的是,该主业务进程主要用来实现存储的主业务,通过接收来自于主机的数据IO,将数据存储到后端磁盘等功能。如果主业务进程开启了数据缩减功能,则所述主业务进程在接收到主机发送的存储请求后,并不会直接存储至磁盘,而是先将待存储数据发送至数据缩减任务,通过数据缩减任务中的数据缩减处理线程进行处理后,再存储至磁盘。
S102、通过数据缩减处理线程对所述存储请求携带的待存储数据执行数据缩减操作,得到处理数据;其中,所述数据缩减处理线程为利用所述主业务进程发送的配置信息创建的;
具体来说,本申请数据缩减任务除了包括数据缩减处理线程之外,还可以包括通信线程和数据缩减主线程,该通信线程负责数据缩减主线程与主业务进程的通信和交互,实现数据缩减任务的初始化和IO command(输入输出命令)通信;数据缩减主线程主要用来处理通信线程发送来的任务,如:数据的读、写,元数据的创建与改写,垃圾回收,数据的缓存管理等等,并调用数据缩减处理线程执行对应的操作。
并且,在初始阶段,若主业务开启数据精简功能,则主业务进程首先需要通过有名管道将初始化任务发送给通信进程。该初始化任务包括了数据缩减任务的配置信息,如申请内存资源的大小、创建线程的数量及类型等等。通信进程接收到该初始化任务后,会根据任务中的配置信息创建数据缩减主线程和数据缩减处理线程,该数据缩减处理线程可包括压缩线程和重删线程,然后申请对应的内存资源,并进行线程初始化。因此,本申请接收到主业务进程发送的存储请求后,会通过预先创建的数据缩减处理线程对待存储数据执行数据缩减操作,得到处理数据,该处理数据中包括处理后的数据及对应的元数据。
S103、通过有名管道向主业务进程发送处理完成的通知信息,以使主业务进程将处理数据存储至磁盘。
需要说明的是,本申请中的数据缩减处理线程对待存储数据执行缩减操作后,需要通知主业务进程本次任务已执行完成,主业务进程接收到该通知后,便将内存资源中存储的处理数据写入磁盘。
综上可以看出,本申请在执行数据缩减操作时,是利用独立设置的数据缩减处理线程进行处理,该数据缩减处理线程与主业务进程通过有名管道进行通信,通过该方式,可减少对主业务进程的修改,使传统存储设备具有数据缩减功能,减少存储数据所占的容量,降低运营成本。
基于上述实施例,在本实施例中,通过数据缩减处理线程对存储请求携带的待存储数据执行数据缩减操作,得到处理数据的过程具体包括:
数据缩减主线程接收通信线程发送的存储请求;其中,所述存储请求为所述通信线程利用有名管道接收的主业务进程的发送的请求;所述数据缩减主线程将所述存储请求携带的待存储数据,发送至对应的数据缩减处理线程,以通过对应的数据缩减处理线程执行数据缩减操作,得到处理数据。
参见图2,为本发明实施例公开的一种执行数据缩减操作的系统结构示意图;通过该图可以看出,该系统包括:主业务进程、通信线程、数据缩减主线程、压缩线程和重删线程;压缩线程和重删线程为数据缩减处理线程。因此,主业务通过有名管道fifo向通信线程发送写任务,通信线程将写任务转发给数据缩减主线程,通过数据缩减主线程将待存储数据依次发给每个数据缩减处理线程进行处理。具体来说,如果本申请中的数据缩减处理线程包括压缩线程和重删线程,则数据缩减主线程先将存储请求携带的待存储数据发送至重删线程,通过重删线程对待存储数据执行重删操作,获得重删数据;然后数据缩减主线程将重删数据发送至压缩线程,通过压缩线程对重删数据执行压缩操作,获得处理数据。
并且,本申请中的数据缩减主线程将本次IO先发送给重删线程进行数据重删,再将处理后的数据发送给压缩线程进行数据压缩后,还需要更新对应的元数据,该压缩后的数据和更新后的元数据一起组成处理数据,然后数据缩减主线程通知通信线程本次任务完成,通信线程将数据处理完成的消息通知主业务,主业务将处理数据写入磁盘,完成本次的写操作。
基于上述实施例,在本实施例中,将数据存储至磁盘后,若主业务进程要读取数据,则本方案需要执行如下操作:
利用有名管道接收主业务进程发送的数据读取请求;判断与数据读取请求对应的待读取的目标数据是否存储在缓存区;
若否,则通过有名管道向主业务进程发送目标数据不在缓存区中的通知信息,以使主业务进程从磁盘中读取对应的数据缩减数据后,通过数据缩减处理线程对数据缩减数据进行还原处理,得到目标数据;
若是,则直接将缓存区中的目标数据通过有名管道发送至主业务进程;该缓存区中存储了通过数据缩减处理线程进行还原处理的历史数据。
需要说明的是,若存储至磁盘的数据执行了数据缩减处理,则说明主业务进程从磁盘获取的数据为数据缩减数据,因此,主业务进程需要将从磁盘中读取的数据缩减数据发送给数据缩减处理线程,通过其对数据缩减数据进行还原处理得到目标数据。并且,本申请为了提高数据读取速率,将通过数据缩减处理线程进行还原处理的数据存储在缓存区,因此,主业务进程在读取数据时,可以先查看该缓存区中是否存储了该目标数据,如果存储了,则直接获取,否则,再从磁盘获取。
进一步,本申请通过数据缩减处理线程对数据缩减数据进行还原处理,得到目标数据的过程具体包括如下步骤:数据缩减主线程接收通信线程发送的数据缩减数据;其中,数据缩减数据为通信线程利用有名管道接收的主业务进程的发送的;数据缩减主线程将数据缩减数据发送至压缩线程,通过压缩线程对数据缩减数据执行解压操作,获得解压数据;数据缩减主线程将解压数据发送至重删线程,通过重删线程对解压数据执行重构操作,获得目标数据;数据缩减主线程将目标数据发送至通信线程,以使通信线程通过有名管道将目标数据发送至主业务进程。
也就是说,本申请中的主业务进程通过有名管道fifo向通信线程发送读任务,通信线程将该读任务转发给数据缩减主线程,然后数据缩减主线程查找该目标数据对应的元数据,通过元数据判断目标数据是否在缓存区cache中,如果命中cache,那么立即将数据返回给主业务。如果没有命中cache,需要告知主业务将目标数据不再cache中,需要从磁盘上读取。并且,主业务进程从磁盘读取数据后,由于该数据是经过缩减处理后的数据,因此需要通过数据缩减主进程将读出的数据发送给压缩线程进行数据解压,再通过重删线程利用元数据构建重删前的数据,然后将最后得到的数据作为还原的数据发送给主业务进程,完成数据的读操作。
综上可以看出,本方案中的数据缩减任务采用独立的线程设计,通过有名管道与主业务进程实现通信。采用独立进程设计方案可以减少对主业务进程的修改,实现存储产品快速开发,让不具有压缩和重删功能的IO栈具有数据缩减高级特性,并且这种开发设计方式可以与多个IO栈匹配,使数据重删特性具有复用性。
下面对本发明实施例提供的数据存储装置进行介绍,下文描述的数据存储装置与上文描述的数据存储方法可以相互参照。
参见图3,本发明实施例提供的一种数据存储装置,包括:
存储请求接收模块100,用于利用有名管道接收主业务进程发送的存储请求;
数据处理模块200,用于通过数据缩减处理线程对所述存储请求携带的待存储数据执行数据缩减操作,得到处理数据;其中,所述数据缩减处理线程为利用所述主业务进程发送的配置信息创建的;
通知信息发送模块300,用于通过所述有名管道向所述主业务进程发送处理完成的通知信息,以使所述主业务进程将所述处理数据存储至磁盘。
其中,所述处理模块包括:
请求接收单元,用于通过数据缩减主线程接收通信线程发送的存储请求;其中,所述存储请求为所述通信线程利用有名管道接收的主业务进程的发送的请求;
数据处理单元,用于通过所述数据缩减主线程将所述存储请求携带的待存储数据,发送至对应的数据缩减处理线程,以通过对应的数据缩减处理线程执行数据缩减操作,得到处理数据。
其中,所述数据处理单元包括:
重删子单元,用于通过所述数据缩减主线程将所述存储请求携带的待存储数据发送至重删线程,通过所述重删线程对所述待存储数据执行重删操作,获得重删数据;
压缩子单元,用于通过所述数据缩减主线程将所述重删数据发送至压缩线程,通过所述压缩线程对所述重删数据执行压缩操作,获得处理数据。
其中,所述数据存储装置还包括:
读取请求接收模块,用于利用所述有名管道接收所述主业务进程发送的数据读取请求;
判断模块,用于判断与所述数据读取请求对应的待读取的目标数据是否存储在缓存区;
所述通知信息发送模块还用于:在与所述数据读取请求对应的待读取的目标数据不存储在缓存区时,通过所述有名管道向所述主业务进程发送目标数据不在缓存区中的通知信息,以使所述主业务进程从所述磁盘中读取对应的数据缩减数据;
数据还原模块,用于通过所述数据缩减处理线程对所述数据缩减数据进行还原处理,得到所述目标数据;
数据发送模块,用于在与所述数据读取请求对应的待读取的目标数据存储在缓存区时,直接将缓存区中的目标数据通过所述有名管道发送至所述主业务进程;其中,所述缓存区中存储了通过所述数据缩减处理线程进行还原处理的历史数据。
其中,所述数据还原模块包括:
缩减数据接收单元,用于通过所述数据缩减主线程接收所述通信线程发送的数据缩减数据;其中,所述数据缩减数据为所述通信线程利用有名管道接收的主业务进程的发送的;
缩减数据发送单元,用于通过所述数据缩减主线程将所述数据缩减数据发送至所述压缩线程,通过所述压缩线程对所述数据缩减数据执行解压操作,获得解压数据;
解压数据发送单元,用于通过所述数据缩减主线程将所述解压数据发送至所述重删线程,通过所述重删线程对所述解压数据执行重构操作,获得目标数据;
目标数据发送单元,用于通过所述数据缩减主线程将所述目标数据发送至所述通信线程,以使所述通信线程通过所述有名管道将所述目标数据发送至所述主业务进程。
参见图4,本发明实施例还公开了一种电子设备,包括:
存储器11,用于存储计算机程序;
处理器12,用于执行所述计算机程序时实现如上述任意方法实施例所述的数据存储方法的步骤。
在本实施例中,设备可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机等终端设备。
该设备可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是设备的内部存储单元,例如该设备的硬盘。存储器11在另一些实施例中也可以是设备的外部存储设备,例如设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括设备的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于设备的应用软件及各类数据,例如执行数据存储方法的程序代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行数据存储方法的程序代码等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,设备还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备与其他电子设备之间建立通信连接。
可选地,该设备还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在设备中处理的信息以及用于显示可视化的用户界面。
图4仅示出了具有组件11-14的设备,本领域技术人员可以理解的是,图4示出的结构并不构成对设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意方法实施例所述的数据存储方法的步骤。
其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (6)

1.一种数据存储方法,其特征在于,包括:
利用有名管道接收主业务进程发送的存储请求;
通过数据缩减处理线程对所述存储请求携带的待存储数据执行数据缩减操作,得到处理数据;其中,所述数据缩减处理线程为利用所述主业务进程发送的配置信息创建的;
通过所述有名管道向所述主业务进程发送处理完成的通知信息,以使所述主业务进程将所述处理数据存储至磁盘;
其中,所述通过数据缩减处理线程对所述存储请求携带的待存储数据执行数据缩减操作,得到处理数据,包括:
数据缩减主线程接收通信线程发送的存储请求;其中,所述存储请求为所述通信线程利用有名管道接收的主业务进程的发送的请求;
所述数据缩减主线程将所述存储请求携带的待存储数据,发送至对应的数据缩减处理线程,以通过对应的数据缩减处理线程执行数据缩减操作,得到处理数据;
所述数据缩减主线程将所述存储请求携带的待存储数据,发送至对应的数据缩减处理线程,以通过对应的数据缩减处理线程执行数据缩减操作,得到处理数据,包括:
所述数据缩减主线程将所述存储请求携带的待存储数据发送至重删线程,通过所述重删线程对所述待存储数据执行重删操作,获得重删数据;
所述数据缩减主线程将所述重删数据发送至压缩线程,通过所述压缩线程对所述重删数据执行压缩操作,获得处理数据。
2.根据权利要求1所述的数据存储方法,其特征在于,所述数据存储方法还包括:
利用所述有名管道接收所述主业务进程发送的数据读取请求;
判断与所述数据读取请求对应的待读取的目标数据是否存储在缓存区;
若否,则通过所述有名管道向所述主业务进程发送目标数据不在缓存区中的通知信息,以使所述主业务进程从所述磁盘中读取对应的数据缩减数据后,通过所述数据缩减处理线程对所述数据缩减数据进行还原处理,得到所述目标数据;
若是,则直接将缓存区中的目标数据通过所述有名管道发送至所述主业务进程;其中,所述缓存区中存储了通过所述数据缩减处理线程进行还原处理的历史数据。
3.根据权利要求2所述的数据存储方法,其特征在于,通过所述数据缩减处理线程对所述数据缩减数据进行还原处理,得到所述目标数据,包括:
所述数据缩减主线程接收所述通信线程发送的数据缩减数据;其中,所述数据缩减数据为所述通信线程利用有名管道接收的主业务进程的发送的;
所述数据缩减主线程将所述数据缩减数据发送至所述压缩线程,通过所述压缩线程对所述数据缩减数据执行解压操作,获得解压数据;
所述数据缩减主线程将所述解压数据发送至所述重删线程,通过所述重删线程对所述解压数据执行重构操作,获得目标数据;
所述数据缩减主线程将所述目标数据发送至所述通信线程,以使所述通信线程通过所述有名管道将所述目标数据发送至所述主业务进程。
4.一种数据存储装置,其特征在于,包括:
存储请求接收模块,用于利用有名管道接收主业务进程发送的存储请求;
数据处理模块,用于通过数据缩减处理线程对所述存储请求携带的待存储数据执行数据缩减操作,得到处理数据;其中,所述数据缩减处理线程为利用所述主业务进程发送的配置信息创建的;
通知信息发送模块,用于通过所述有名管道向所述主业务进程发送处理完成的通知信息,以使所述主业务进程将所述处理数据存储至磁盘;
其中,所述处理模块包括:
请求接收单元,用于通过数据缩减主线程接收通信线程发送的存储请求;其中,所述存储请求为所述通信线程利用有名管道接收的主业务进程的发送的请求;
数据处理单元,用于通过所述数据缩减主线程将所述存储请求携带的待存储数据,发送至对应的数据缩减处理线程,以通过对应的数据缩减处理线程执行数据缩减操作,得到处理数据;
所述数据处理单元包括:
重删子单元,用于通过所述数据缩减主线程将所述存储请求携带的待存储数据发送至重删线程,通过所述重删线程对所述待存储数据执行重删操作,获得重删数据;
压缩子单元,用于通过所述数据缩减主线程将所述重删数据发送至压缩线程,通过所述压缩线程对所述重删数据执行压缩操作,获得处理数据。
5.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至3任一项所述的数据存储方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的数据存储方法的步骤。
CN202010745394.9A 2020-07-29 2020-07-29 一种数据存储方法、装置、设备及存储介质 Active CN111880743B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010745394.9A CN111880743B (zh) 2020-07-29 2020-07-29 一种数据存储方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010745394.9A CN111880743B (zh) 2020-07-29 2020-07-29 一种数据存储方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111880743A CN111880743A (zh) 2020-11-03
CN111880743B true CN111880743B (zh) 2022-07-05

Family

ID=73201431

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010745394.9A Active CN111880743B (zh) 2020-07-29 2020-07-29 一种数据存储方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111880743B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102323958A (zh) * 2011-10-27 2012-01-18 上海文广互动电视有限公司 重复数据删除方法
CN103744783B (zh) * 2014-01-03 2016-08-31 华为技术有限公司 重复数据删除性能测试方法和装置
CN105071976B (zh) * 2015-09-08 2019-05-03 安一恒通(北京)科技有限公司 数据传输方法和装置
CN109062502A (zh) * 2018-07-10 2018-12-21 郑州云海信息技术有限公司 一种数据压缩方法、装置、设备及计算机可读存储介质
CN110955388A (zh) * 2019-10-31 2020-04-03 北京浪潮数据技术有限公司 一种存储服务器及其数据存储方法、装置和存储介质

Also Published As

Publication number Publication date
CN111880743A (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
US20240095043A1 (en) Execution of sub-application processes within application program
CN107463627B (zh) 一种图片加载方法及终端
CN111352861B (zh) 内存压缩方法、装置及电子设备
CN101390057A (zh) 两级中断服务例程
US20220035655A1 (en) Method and Device for Anonymous Page Management, Terminal Device, and Readable Storage Medium
CN110989937B (zh) 一种数据存储方法、装置、设备及计算机可读存储介质
CN111240601B (zh) 一种分区空间的超级块确定方法、装置、设备及存储介质
CN112231238B (zh) 使用存储器压缩来减少存储器提交开销
CN112764925A (zh) 基于虚拟内存的数据存储方法、装置、设备及存储介质
CN111782304A (zh) 分页加载数据逻辑控制方法、装置、计算机设备及介质
CN110837531B (zh) 数据源读写的分离方法、装置及计算机可读存储介质
CN115455058A (zh) 缓存数据的处理方法、装置、计算机设备及存储介质
CN114942863A (zh) 一种级联快照处理方法、装置、设备及存储介质
TW201435585A (zh) 用以存取資料之電子裝置及其資料存取方法
CN114579055A (zh) 磁盘存储方法、装置、设备及介质
CN111880743B (zh) 一种数据存储方法、装置、设备及存储介质
CN111444117A (zh) 存储空间碎片化实现方法、装置、存储介质及电子设备
CN111881065B (zh) 数据重删操作的物理地址处理方法、装置、设备及介质
CN113704588A (zh) 基于映射技术的文件读取方法及系统
WO2015058628A1 (zh) 文件的访问方法及装置
CN111562983A (zh) 内存优化方法、装置、电子设备及存储介质
CN113625953B (zh) 一种数据处理方法、装置、设备及存储介质
CN111158733A (zh) 一种bmc升级方法、装置、设备及计算机可读存储介质
KR20210016913A (ko) 데이터베이스의 데이터 유실을 방지하기 위한 전자 장치 및 전자 장치의 동작 방법
CN113986134B (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
GR01 Patent grant
GR01 Patent grant