CN105760245B - 一种存储数据的方法及装置 - Google Patents

一种存储数据的方法及装置 Download PDF

Info

Publication number
CN105760245B
CN105760245B CN201610078319.5A CN201610078319A CN105760245B CN 105760245 B CN105760245 B CN 105760245B CN 201610078319 A CN201610078319 A CN 201610078319A CN 105760245 B CN105760245 B CN 105760245B
Authority
CN
China
Prior art keywords
data
initial data
node
backup
backup node
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
CN201610078319.5A
Other languages
English (en)
Other versions
CN105760245A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201811508945.9A priority Critical patent/CN109783014B/zh
Priority to CN201610078319.5A priority patent/CN105760245B/zh
Publication of CN105760245A publication Critical patent/CN105760245A/zh
Application granted granted Critical
Publication of CN105760245B publication Critical patent/CN105760245B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明实施例公开了一种存储数据的方法及装置,涉及通信技术领域,能够解决因备份节点占用空间较大而造成磁盘空间不足的问题。本发明实施例的方法包括:至少两个备份节点接收主节点发送的原始数据,原始数据为主节点写入的数据;当至少两个备份节点写入原始数据之后,至少两个备份节点按照每个备份节点对应的数据压缩模式压缩原始数据,得到目标数据,目标数据占用的存储空间小于原始数据占用的存储空间;至少两个备份节点删除原始数据。本发明适用于数据的存储过程。

Description

一种存储数据的方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种存储数据的方法及装置。
背景技术
在分布式存储系统中,通常包括若干个计算节点和存储节点,并且计算节点和存储节点可以通过网络连接起来。为了避免因存储节点故障而造成数据丢包,在数据存储的过程中,通常将同一份数据的多个副本分别保存在多个存储节点上。比如:将数据备份3份,并保存在不同的存储节点上,从而确保当其中1份或2份损坏时,仍能够保证数据的完整性。
在数据读取过程中,读取数据的请求可以通过网络向主节点发送,并从主节点读取已保存的数据,而备份节点上存储的数据在主节点不存在故障时,仅用于保存数据副本,也就是保存在备份节点上的数据与保存在主节点上的数据相同,且存储形式相同。因此,采用上述方式进行数据的存储,往往造成过多的冗余。当主节点不存在故障时,备份节点仅用于数据的备份,而当存储的数据量较大时,由于备份的数据与保存在主节点上的数据需要占用相同的存储空间,因此,导致因备份节点占用空间较大而造成磁盘空间不足的问题。
发明内容
本发明实施例提供一种存储数据的方法及装置,能够解决因备份节点占用空间较大而造成磁盘空间不足的问题。
为达到上述目的,本发明实施例采用如下技术方案:
第一方面,本发明实施例提供一种存储数据的方法,所述方法用于一种存储系统,所述存储系统包括至少两个备份节点和主节点,所述方法包括:
所述至少两个备份节点接收所述主节点发送的原始数据,所述原始数据为所述主节点写入的数据;
当所述至少两个备份节点写入所述原始数据之后,所述至少两个备份节点按照每个备份节点对应的数据压缩模式压缩所述原始数据,得到目标数据,所述目标数据占用的存储空间小于所述原始数据占用的存储空间;
所述至少两个备份节点删除所述原始数据。
结合第一方面,在第一方面第一种可能的实现方式中,所述至少两个备份节点包括第一备份节点和第二备份节点,所述数据压缩模式包括第一模式或第二模式,所述目标数据包括第一目标数据或第二目标数据,将所述第一目标数据恢复成所述原始数据的时间小于将所述第二目标数据恢复成所述原始数据的时间,所述至少两个备份节点按照每个备份节点对应的数据压缩模式压缩所述原始数据,得到目标数据,包括:
所述第一备份节点按照所述第一模式,压缩所述原始数据,得到所述第一目标数据,以便于当所述主节点接收到读取所述原始数据的请求消息,且所述主节点写入的所述原始数据无法被读取时,所述第一备份节点优先将所述第一目标数据恢复成所述原始数据;
所述第二备份节点按照所述第二模式,压缩所述原始数据,得到所述第二目标数据。
结合第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,所述第一模式包括快速压缩算法,所述第二模式包括高压缩率算法,将所述原始数据压缩成所述第一目标数据的时间小于将所述原始数据压缩成所述第二目标数据的时间,所述第一目标数据占用的存储空间大于所述第二目标数据。
结合第一方面,或第一方面第一至第二种可能中的任一项实现方式,在第一方面第三种可能的实现方式中,所述存储系统还包括终端,所述至少两个备份节点接收所述主节点发送的原始数据,包括:
当所述主节点接收所述终端发送的所述原始数据,并写入所述原始数据,且所述主节点将所述原始数据向所述至少两个备份节点发送之后,所述至少两个备份节点接收所述主节点发送的所述原始数据;
在所述至少两个备份节点按照每个备份节点对应的数据压缩模式压缩所述原始数据,得到目标数据之前,包括:
所述至少两个备份节点向所述主节点发送所述原始数据写入成功的反馈消息,以便于所述主节点将所述反馈消息向所述终端发送。
第二方面,本发明实施例提供一种存储数据的装置,所述装置用于一种存储系统,所述存储系统包括至少两个备份节点和主节点,所述装置包括:
接收模块,用于接收所述主节点发送的原始数据,所述原始数据为所述主节点写入的数据;
生成模块,用于当所述至少两个备份节点写入所述原始数据之后,按照每个备份节点对应的数据压缩模式压缩所述原始数据,得到目标数据,所述目标数据占用的存储空间小于所述原始数据占用的存储空间;
删除模块,用于删除所述原始数据。
结合第二方面,在第二方面第一种可能的实现方式中,所述至少两个备份节点包括第一备份节点和第二备份节点,所述数据压缩模式包括第一模式或第二模式,所述目标数据包括第一目标数据或第二目标数据,将所述第一目标数据恢复成所述原始数据的时间小于将所述第二目标数据恢复成所述原始数据的时间,所述生成模块包括第一生成模块和第二生成模块,所述第一生成模块设置在所述第一备份节点,用于按照所述第一模式,压缩所述原始数据,得到所述第一目标数据,以便于当所述主节点接收到读取所述原始数据的请求消息,且所述主节点写入的所述原始数据无法被读取时,所述第一备份节点优先将所述第一目标数据恢复成所述原始数据;
所述第二生成模块设置在所述第二备份节点,用于按照所述第二模式,压缩所述原始数据,得到所述第二目标数据。
结合第二方面第一种可能的实现方式,在第二方面第二种可能的实现方式中,所述第一模式包括快速压缩算法,所述第二模式包括高压缩率算法,将所述原始数据压缩成所述第一目标数据的时间小于将所述原始数据压缩成所述第二目标数据的时间,所述第一目标数据占用的存储空间大于所述第二目标数据。
结合第二方面,或第二方面第一至第二种可能中的任一项实现方式,在第二方面第三种可能的实现方式中,所述存储系统还包括终端,所述接收模块,具体用于当所述主节点接收所述终端发送的所述原始数据,并写入所述原始数据,且所述主节点将所述原始数据向所述至少两个备份节点发送之后,接收所述主节点发送的所述原始数据;
所述装置还包括:
发送模块,用于向所述主节点发送所述原始数据写入成功的反馈消息,以便于所述主节点将所述反馈消息向所述终端发送。
本发明实施例提供的一种存储数据的方法及装置,当至少两个备份节点根据主节点发送的原始数据完成数据写入之后,每个备份节点可以按照各自对应的数据压缩模式进行原始数据的压缩,以得到目标数据,并在生成目标数据之后将至少两个备份节点的原始数据删除。其中,目标数据占用的存储空间小于原始数据占用的存储空间。相比较于现有技术中采用相同的存储形式,将主节点上保存的数据保存在备份节点上,本发明可以采用不同的存储形式来实现备份节点上原始数据的保存,也就是将原始数据按照每个备份节点对应的数据压缩模式进行压缩,之后将经不同数据压缩模式得到的目标数据存储在各自对应的备份节点上,同时将原始数据删除。由于经数据压缩模式得到的目标数据占用的存储空间小于原始数据占用的存储空间,因此,减少了每个备份节点存储数据所占用的空间,从而解决因备份节点占用空间较大而造成磁盘空间不足的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种存储系统的结构示意图;
图2为本发明实施例提供的一种存储数据的方法流程图;
图3为本发明实施例提供的另一种存储数据的方法流程图;
图4为本发明实施例提供的另一种存储数据的方法流程图;
图5为本发明实施例提供的一种存储数据的装置结构示意图;
图6为本发明实施例提供的一种存储数据的设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例可以用于一种存储系统,该存储系统可以包括至少两个备份节点和主节点,该存储系统还可以包括终端。如图1所示的存储系统中包括终端、主节点、备份节点1和备份节点2。当终端向主节点发送原始数据时,主节点可以将原始数据写入,并将原始数据分别向备份节点1和备份节点2发送。当备份节点接收到主节点发送的原始数据并完成写入之后,可以向主节点发送反馈消息,以使得主节点向终端转发该反馈消息,从而使终端确定备份节点已接收到原始数据并完成写入。当备份节点接收到主节点发送的原始数据并完成写入之后,为了节省备份节点上用于存储原始数据的存储空间,备份节点可以根据该备份节点对应的数据压缩模式,来完成原始数据的压缩,并得到目标数据,同时,在得到目标数据之后,删除原始数据。之后当终端向主节点发起读取原始数据的请求时,若主节点能够为终端提供原始数据,则由主节点向终端发送原始数据;当主节点因故障而无法提供原始数据时,备份节点1或备份节点2可以在完成恢复原始数据的操作之后,通过主节点向终端提供原始数据。
本发明实施例提供一种存储数据的方法,如图2所示,该方法由至少两个备份节点来执行,该方法包括:
101、至少两个备份节点接收主节点发送的原始数据。
其中,原始数据为主节点写入的数据。
当终端向主节点发送原始数据时,主节点可以将原始数据写入,并向至少两个备份节点中的每个节点发送原始数据。也就是将保存在主节点上的原始数据同步到每个备份节点上。
102、当至少两个备份节点写入原始数据之后,至少两个备份节点按照每个备份节点对应的数据压缩模式压缩原始数据,得到目标数据。
其中,目标数据占用的存储空间小于原始数据占用的存储空间。
每个备份节点在接收到主节点发送的原始数据之后,需要完成原始数据的写入,之后备份节点可以按照该备份节点对应的数据压缩模式来完成原始数据的压缩,从而得到目标数据。需要说明的是,每个备份节点对应的压缩模式可以不完全相同,也就是当存在3个或3个以上的备份节点时,所有备份节点对应的数据压缩模式可以包括至少2种,这就意味着可能存在对应相同数据压缩模式的备份节点。由于数据压缩模式可能不完全相同,因此,采用不同数据压缩模式得到的目标数据也不完全相同,也就是采用不同数据压缩模式得到的目标数据占用的存储空间可能不同,但是,每个备份节点上得到的目标数据的内容是相同的。需要说明的是,由于将原始数据按照数据压缩模式进行压缩的过程是在备份节点上进行的,也就相当于是由后台完成原始数据的压缩,从而确保了不影响存储系统I/O(In/Out,输入/输出)性能。
在本发明实施例中,为了确保主节点能在终端发起读取数据的请求消息时,尽快向终端提供原始数据,在本发明实施例中,主节点上保存的原始数据不需要经过任何数据压缩模式进行数据的压缩。
103、至少两个备份节点删除原始数据。
为了尽可能少的占用备份节点上用于存储数据的空间,在本发明实施例中,当备份节点得到占用存储空间较小的目标数据之后,可以通过删除备份节点上的原始数据来避免数据存储上的冗余。需要说明的是,由于采用不同数据压缩模式,使不同备份节点上原始数据的压缩时间可能存在不同,因此,对于单个备份节点而言,当原始数据完成压缩,得到了目标数据之后,该备份节点就可以将原始数据删除,以节省该备份节点的存储空间。
本发明实施例提供的一种存储数据的方法,当至少两个备份节点根据主节点发送的原始数据完成数据写入之后,每个备份节点可以按照各自对应的数据压缩模式进行原始数据的压缩,以得到目标数据,并在生成目标数据之后将至少两个备份节点的原始数据删除。其中,目标数据占用的存储空间小于原始数据占用的存储空间。相比较于现有技术中采用相同的存储形式,将主节点上保存的数据保存在备份节点上,本发明可以采用不同的存储形式来实现备份节点上原始数据的保存,也就是将原始数据按照每个备份节点对应的数据压缩模式进行压缩,之后将经不同数据压缩模式得到的目标数据存储在各自对应的备份节点上,同时将原始数据删除。由于经数据压缩模式得到的目标数据占用的存储空间小于原始数据占用的存储空间,因此,减少了每个备份节点存储数据所占用的空间,从而解决因备份节点占用空间较大而造成磁盘空间不足的问题。
当备份节点为两个,且主节点无法向终端提供所需要的原始数据时,为了确保第一备份节点可以优先通过主节点向终端提供原始数据。在本发明实施例的一个实现方式中,至少两个备份节点可以包括第一备份节点和第二备份节点,数据压缩模式可以包括第一模式或第二模式,目标数据可以包括第一目标数据或第二目标数据,并且将第一目标数据恢复成原始数据的时间小于将第二目标数据恢复成原始数据的时间。因此,在如图2所示的实现方式的基础上,还可以实现为如图3所示的实现方式。其中,步骤102当至少两个备份节点写入原始数据之后,至少两个备份节点按照每个备份节点对应的数据压缩模式压缩原始数据,得到目标数据,可以具体实现为步骤1021和步骤1022:
1021、当至少两个备份节点写入原始数据之后,第一备份节点按照第一模式,压缩原始数据,得到第一目标数据,以便于当主节点接收到读取原始数据的请求消息,且主节点写入的原始数据无法被读取时,第一备份节点优先将第一目标数据恢复成原始数据。
1022、当至少两个备份节点写入原始数据之后,第二备份节点按照第二模式,压缩原始数据,得到第二目标数据。
需要说明的是,第一模式可以包括快速压缩算法,第二模式可以包括高压缩率算法。在本发明实施例中,将原始数据压缩成第一目标数据的时间小于将原始数据压缩成第二目标数据的时间,第一目标数据占用的存储空间大于第二目标数据。
在本发明实施例中,由于快速压缩算法的数据压缩速度大于高压缩率算法的数据压缩速度,因此,第一目标数据生成的时间小于第二目标数据生成的时间,同理,第一目标数据恢复成原始数据的时间也小于第二目标数据恢复成原始数据的时间。因此,当主节点无法为终端提供原始数据时,为了确保终端可以尽快获取原始数据,需要由恢复时间较少的第一目标数据采用第一模式的逆过程恢复原始数据,并通过主节点向终端发送原始数据,从而在节省备份节点用于存储原始数据的存储空间的同时,确保存储系统的整体性能。需要说明的是,快速压缩算法具体可以为lz4或snappy等压缩速度较快,且压缩完成后占用存储空间较小的压缩算法;高压缩率算法具体可以为gzip等压缩速度小于快速压缩算法的数据压缩模式,但是,采用高压缩速率算法得到的目标数据占用的存储空间小于采用快速压缩算法得到的目标数据占用的存储空间。因此,第一目标数据作为备份数据可以在节省存储空间的同时,具备快速恢复为原始数据的功能,第二目标数据作为另一份备份数据,可以更好的节省存储空间,以便于当主节点和第一备份节点均无法提供原始数据时,仍能够保证原始数据不丢失,并通过主节点向终端提供原始数据。
本发明实施例提供的一种存储数据的方法,当备份节点为两个时,第一备份节点可以按照第一模式对原始数据进行压缩,得到第一目标数据;第二备份节点可以按照第二模式对原始数据进行压缩,得到第二目标数据。其中,虽然第一目标数据占用的存储空间大于第二目标数据,但是将第一目标数据恢复成原始数据的时间小于将第二目标数据恢复成原始数据的时间。当终端向主节点发送读取原始数据的请求消息,且主节点上的原始数据无法被读取时,第一备份节点可以优先将第一目标数据恢复成原始数据,以便于终端通过主节点来读取。相比较于现有技术中采用相同的存储形式,将主节点上保存的数据保存在备份节点上,本发明由于将第一目标数据恢复成原始数据所耗费的时间小于将第二目标数据恢复成原始数据所耗费的时间,因此,可以在主节点无法提供原始数据的情况下,尽快为终端提供恢复后的原始数据,因此,在减少了每个备份节点存储数据所占用的空间,解决了因备份节点占用空间较大而造成磁盘空间不足的问题的基础上,减少了采用数据压缩方式来节省存储空间对存储系统整体性能的影响。
为了确保终端可以掌握原始数据的存储情况,在本发明实施例的一个实现方式中,当至少两个备份节点接收到原始数据并写入之后,可以通过主节点将表示原始数据成功写入备份节点的反馈消息发送至终端。因此,在如图2所示的实现方式的基础上,还可以实现为如图4所示的实现方式。其中,步骤101至少两个备份节点接收主节点发送的原始数据,可以具体实现为步骤1011,且当至少两个备份节点写入原始数据之后,在执行步骤102中的至少两个备份节点按照每个备份节点对应的数据压缩模式压缩原始数据,得到目标数据之前,也就是在执行步骤105之前,还可以执行步骤104:
1011、当主节点接收终端发送的原始数据,并写入原始数据,且主节点将原始数据向至少两个备份节点发送之后,至少两个备份节点接收主节点发送的原始数据。
104、当至少两个备份节点写入原始数据之后,至少两个备份节点向主节点发送原始数据写入成功的反馈消息,以便于主节点将反馈消息向终端发送。
105、至少两个备份节点按照每个备份节点对应的数据压缩模式压缩原始数据,得到目标数据。
本发明实施例提供的一种存储数据的方法,当至少两个备份节点根据主节点发送的原始数据完成数据写入之后,每个备份节点均可以向主节点发送原始数据写入成功的反馈消息,并由主节点向终端发送反馈消息。相比较于现有技术中采用相同的存储形式,将主节点上保存的数据保存在备份节点上,本发明可以采用不同的存储形式来实现备份节点上原始数据的保存,也就是将原始数据按照每个备份节点对应的数据压缩模式进行压缩,之后将经不同数据压缩模式得到的目标数据存储在各自对应的备份节点上,同时将原始数据删除。由于经数据压缩模式得到的目标数据占用的存储空间小于原始数据占用的存储空间,且每个备份节点能够将完成原始数据写入的反馈消息,及时通过主节点告知终端,因此,在减少了每个备份节点存储数据所占用的空间,解决了因备份节点占用空间较大而造成磁盘空间不足的问题的基础上,备份节点能够通过主节点将反馈消息发送至终端,使终端能够确定备份节点已经成功将原始数据写入,达到备份原始数据的效果。
本发明实施例提供一种存储数据的装置20,用于执行如图1至4所示的方法流程,如图5所示,该装置20用于一种存储系统,该存储系统包括至少两个备份节点和主节点,该装置20包括:
接收模块21,用于接收主节点发送的原始数据,原始数据为主节点写入的数据。
生成模块22,用于当至少两个备份节点写入原始数据之后,按照每个备份节点对应的数据压缩模式压缩原始数据,得到目标数据,目标数据占用的存储空间小于原始数据占用的存储空间。
删除模块23,用于删除原始数据。
在本发明实施例的一个实现方式中,至少两个备份节点包括第一备份节点和第二备份节点,数据压缩模式包括第一模式或第二模式,目标数据包括第一目标数据或第二目标数据,将第一目标数据恢复成原始数据的时间小于将第二目标数据恢复成原始数据的时间,生成模块22包括第一生成模块221和第二生成模块222。
第一生成模221块设置在第一备份节点,用于按照第一模式,压缩原始数据,得到第一目标数据,以便于当主节点接收到读取原始数据的请求消息,且主节点写入的原始数据无法被读取时,第一备份节点优先将第一目标数据恢复成原始数据。
第二生成模块222设置在第二备份节点,用于按照第二模式,压缩原始数据,得到第二目标数据。
需要说明的是,第一模式包括快速压缩算法,第二模式包括高压缩率算法,将原始数据压缩成第一目标数据的时间小于将原始数据压缩成第二目标数据的时间,第一目标数据占用的存储空间大于第二目标数据。
在本发明实施例的一个实现方式中,该存储系统还包括终端,接收模块21,具体用于当主节点接收终端发送的原始数据,并写入原始数据,且主节点将原始数据向至少两个备份节点发送之后,接收主节点发送的原始数据。
该装置20还包括:
发送模块24,用于向主节点发送原始数据写入成功的反馈消息,以便于主节点将反馈消息向终端发送。
本发明实施例提供的一种存储数据的装置,当至少两个备份节点根据主节点发送的原始数据完成数据写入之后,每个备份节点可以按照各自对应的数据压缩模式进行原始数据的压缩,以得到目标数据,并在生成目标数据之后将至少两个备份节点的原始数据删除。其中,目标数据占用的存储空间小于原始数据占用的存储空间。相比较于现有技术中采用相同的存储形式,将主节点上保存的数据保存在备份节点上,本发明可以采用不同的存储形式来实现备份节点上原始数据的保存,也就是将原始数据按照每个备份节点对应的数据压缩模式进行压缩,之后将经不同数据压缩模式得到的目标数据存储在各自对应的备份节点上,同时将原始数据删除。由于经数据压缩模式得到的目标数据占用的存储空间小于原始数据占用的存储空间,因此,减少了每个备份节点存储数据所占用的空间,从而解决因备份节点占用空间较大而造成磁盘空间不足的问题。
本发明实施例提供一种备份节点30,该备份节点30与终端、主节点构成存储系统,该备份节点30用于执行如图1至4所示的方法流程,如图6所示,该备份节点30包括处理器31和接口电路32,图中还示出了存储器33和总线34,该处理器31、接口电路32和存储器33通过总线34连接并完成相互间的通信。
需要说明的是,这里的处理器31可以是一个处理元件,也可以是多个处理元件的统称。例如,该处理元件可以是中央处理器(Central Processing Unit,CPU),也可以是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个微处理器(digital singnalprocessor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)。
存储器33可以是一个存储装置,也可以是多个存储元件的统称,且用于存储可执行程序代码或接入网管理设备运行所需要参数、数据等。且存储器33可以包括随机存储器(RAM),也可以包括非易失性存储器(non-volatile memory),例如磁盘存储器,闪存(Flash)等。
总线34可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。该总线34可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
该备份节点30还可以包括输入输出装置,连接于总线34,以通过总线34与处理器31等其它部分连接。
其中,处理器31调用存储器33中的程序代码,用于执行以上方法实施例中备份节点30执行的操作。例如,包括:
通过接口电路32接收主节点发送的原始数据,原始数据为主节点写入的数据。
当至少两个备份节点写入原始数据之后,通过处理器31按照每个备份节点对应的数据压缩模式压缩原始数据,得到目标数据,目标数据占用的存储空间小于原始数据占用的存储空间。
通过处理器31删除原始数据。
在本发明实施例的一个实现方式中,该备份节点可以具体为第一备份节点或第二备份节点,数据压缩模式包括第一模式或第二模式,目标数据包括第一目标数据或第二目标数据,将第一目标数据恢复成原始数据的时间小于将第二目标数据恢复成原始数据的时间。
当备份节点30为第一备份节点时,可以通过处理器31按照第一模式,压缩原始数据,得到第一目标数据,以便于当主节点接收到读取原始数据的请求消息,且主节点写入的原始数据无法被读取时,第一备份节点优先将第一目标数据恢复成原始数据;当备份节点30为第二备份节点时,可以通过处理器31按照第二模式,压缩原始数据,得到第二目标数据。
需要说明的是,第一模式包括快速压缩算法,第二模式包括高压缩率算法,将原始数据压缩成第一目标数据的时间小于将原始数据压缩成第二目标数据的时间,第一目标数据占用的存储空间大于第二目标数据。
在本发明实施例的一个实现方式中,接口电路32,具体用于当主节点接收终端发送的原始数据,并写入原始数据,且主节点将原始数据向至少两个备份节点发送之后,至少两个备份节点接收主节点发送的原始数据。
在本发明实施例中,还可以通过接口电路32向主节点发送原始数据写入成功的反馈消息,以便于主节点将反馈消息向终端发送。
本发明实施例提供的一种备份节点,当至少两个备份节点根据主节点发送的原始数据完成数据写入之后,每个备份节点可以按照各自对应的数据压缩模式进行原始数据的压缩,以得到目标数据,并在生成目标数据之后将至少两个备份节点的原始数据删除。其中,目标数据占用的存储空间小于原始数据占用的存储空间。相比较于现有技术中采用相同的存储形式,将主节点上保存的数据保存在备份节点上,本发明可以采用不同的存储形式来实现备份节点上原始数据的保存,也就是将原始数据按照每个备份节点对应的数据压缩模式进行压缩,之后将经不同数据压缩模式得到的目标数据存储在各自对应的备份节点上,同时将原始数据删除。由于经数据压缩模式得到的目标数据占用的存储空间小于原始数据占用的存储空间,因此,减少了每个备份节点存储数据所占用的空间,从而解决因备份节点占用空间较大而造成磁盘空间不足的问题。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (4)

1.一种存储数据的方法,其特征在于,所述方法用于一种存储系统,所述存储系统包括至少两个备份节点和主节点,所述方法包括:
所述至少两个备份节点接收所述主节点发送的原始数据,所述原始数据为所述主节点写入的数据;
当所述至少两个备份节点写入所述原始数据之后,所述至少两个备份节点按照每个备份节点对应的数据压缩模式压缩所述原始数据,得到目标数据,所述目标数据占用的存储空间小于所述原始数据占用的存储空间;
所述至少两个备份节点删除所述原始数据;
其中,所述至少两个备份节点包括第一备份节点和第二备份节点,所述至少两个备份节点按照每个备份节点对应的数据压缩模式压缩所述原始数据,得到目标数据,包括:
所述第一备份节点按照第一模式,压缩所述原始数据,得到第一目标数据,以便于当所述主节点接收到读取所述原始数据的请求消息,且所述主节点写入的所述原始数据无法被读取时,所述第一备份节点优先将所述第一目标数据恢复成所述原始数据;
所述第二备份节点按照第二模式,压缩所述原始数据,得到第二目标数据;
将所述第一目标数据恢复成所述原始数据的时间小于将所述第二目标数据恢复成所述原始数据的时间;所述第一模式包括快速压缩算法,所述第二模式包括高压缩率算法,将所述原始数据压缩成所述第一目标数据的时间小于将所述原始数据压缩成所述第二目标数据的时间,所述第一目标数据占用的存储空间大于所述第二目标数据。
2.根据权利要求1所述的方法,其特征在于,所述存储系统还包括终端,所述至少两个备份节点接收所述主节点发送的原始数据,包括:
当所述主节点接收所述终端发送的所述原始数据,并写入所述原始数据,且所述主节点将所述原始数据向所述至少两个备份节点发送之后,所述至少两个备份节点接收所述主节点发送的所述原始数据;
在所述至少两个备份节点按照每个备份节点对应的数据压缩模式压缩所述原始数据,得到目标数据之前,包括:
所述至少两个备份节点向所述主节点发送所述原始数据写入成功的反馈消息,以便于所述主节点将所述反馈消息向所述终端发送。
3.一种存储数据的装置,其特征在于,所述装置用于一种存储系统,所述存储系统包括至少两个备份节点和主节点,所述装置包括:
接收模块,用于接收所述主节点发送的原始数据,所述原始数据为所述主节点写入的数据;
生成模块,用于当所述至少两个备份节点写入所述原始数据之后,按照每个备份节点对应的数据压缩模式压缩所述原始数据,得到目标数据,所述目标数据占用的存储空间小于所述原始数据占用的存储空间;
删除模块,用于删除所述原始数据;
其中,所述至少两个备份节点包括第一备份节点和第二备份节点,所述生成模块包括第一生成模块和第二生成模块,所述第一生成模块设置在所述第一备份节点,用于按照第一模式,压缩所述原始数据,得到第一目标数据,以便于当所述主节点接收到读取所述原始数据的请求消息,且所述主节点写入的所述原始数据无法被读取时,所述第一备份节点优先将所述第一目标数据恢复成所述原始数据;
所述第二生成模块设置在所述第二备份节点,用于按照第二模式,压缩所述原始数据,得到第二目标数据;
将所述第一目标数据恢复成所述原始数据的时间小于将所述第二目标数据恢复成所述原始数据的时间;所述第一模式包括快速压缩算法,所述第二模式包括高压缩率算法,将所述原始数据压缩成所述第一目标数据的时间小于将所述原始数据压缩成所述第二目标数据的时间,所述第一目标数据占用的存储空间大于所述第二目标数据。
4.根据权利要求3所述的装置,其特征在于,所述存储系统还包括终端,所述接收模块,具体用于当所述主节点接收所述终端发送的所述原始数据,并写入所述原始数据,且所述主节点将所述原始数据向所述至少两个备份节点发送之后,接收所述主节点发送的所述原始数据;
所述装置还包括:
发送模块,用于向所述主节点发送所述原始数据写入成功的反馈消息,以便于所述主节点将所述反馈消息向所述终端发送。
CN201610078319.5A 2016-02-03 2016-02-03 一种存储数据的方法及装置 Active CN105760245B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811508945.9A CN109783014B (zh) 2016-02-03 2016-02-03 一种存储数据的方法及装置
CN201610078319.5A CN105760245B (zh) 2016-02-03 2016-02-03 一种存储数据的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610078319.5A CN105760245B (zh) 2016-02-03 2016-02-03 一种存储数据的方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201811508945.9A Division CN109783014B (zh) 2016-02-03 2016-02-03 一种存储数据的方法及装置

Publications (2)

Publication Number Publication Date
CN105760245A CN105760245A (zh) 2016-07-13
CN105760245B true CN105760245B (zh) 2019-03-26

Family

ID=56329956

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201811508945.9A Active CN109783014B (zh) 2016-02-03 2016-02-03 一种存储数据的方法及装置
CN201610078319.5A Active CN105760245B (zh) 2016-02-03 2016-02-03 一种存储数据的方法及装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201811508945.9A Active CN109783014B (zh) 2016-02-03 2016-02-03 一种存储数据的方法及装置

Country Status (1)

Country Link
CN (2) CN109783014B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109308233A (zh) * 2017-07-28 2019-02-05 中兴通讯股份有限公司 数据备份方法、装置及系统
US11733906B2 (en) * 2017-11-09 2023-08-22 Telefonaktiebolaget Lm Ericsson (Publ) Methods, apparatuses, computer programs and computer program products for data storage
CN107948334B (zh) * 2018-01-09 2019-06-07 无锡华云数据技术服务有限公司 基于分布式存储系统的数据处理方法
CN108494788B (zh) * 2018-03-29 2020-11-24 深圳市国富前海区块链技术股份有限公司 数据的传输方法、数据传输装置及计算机可读存储介质
CN109582245A (zh) * 2018-12-06 2019-04-05 联想(北京)有限公司 数据处理方法、装置及设备
CN110209640A (zh) * 2019-06-06 2019-09-06 四川长虹电器股份有限公司 手机系统运行状态下动态切换lz4压缩算法类型的方法
CN110837343B (zh) * 2019-09-27 2021-06-22 华为技术有限公司 处理快照的方法、装置及终端
CN117519611B (zh) * 2024-01-05 2024-03-15 南京扬子信息技术有限责任公司 一种用于信息系统的数据分布式存储方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201491037U (zh) * 2009-03-27 2010-05-26 深圳市迈科龙电子有限公司 异地冗余备份系统
CN103533004A (zh) * 2012-07-06 2014-01-22 深圳市腾讯计算机系统有限公司 一种基于分级压缩的数据传输方法和系统
CN105260268A (zh) * 2015-10-10 2016-01-20 浪潮(北京)电子信息产业有限公司 一种备份存储方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100324746B1 (ko) * 1999-04-24 2002-02-20 구자홍 음성 청취가 가능한 디지탈 데이터 플레이어
WO2006090412A2 (en) * 2005-02-24 2006-08-31 Monish Shah A data storage system and a method for its operation
US8244883B2 (en) * 2006-08-03 2012-08-14 Citrix Systems, Inc. Systems and methods of for providing multi-mode transport layer compression
CN102437894B (zh) * 2011-11-04 2015-01-28 百度在线网络技术(北京)有限公司 用于对待发送信息进行压缩处理的方法、装置及设备
WO2012163059A1 (zh) * 2011-11-21 2012-12-06 华为技术有限公司 设备重定向的数据传输的方法、装置及系统
CN102761540B (zh) * 2012-05-30 2014-11-19 北京奇虎科技有限公司 数据压缩方法、装置、系统以及服务器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201491037U (zh) * 2009-03-27 2010-05-26 深圳市迈科龙电子有限公司 异地冗余备份系统
CN103533004A (zh) * 2012-07-06 2014-01-22 深圳市腾讯计算机系统有限公司 一种基于分级压缩的数据传输方法和系统
CN105260268A (zh) * 2015-10-10 2016-01-20 浪潮(北京)电子信息产业有限公司 一种备份存储方法和装置

Also Published As

Publication number Publication date
CN105760245A (zh) 2016-07-13
CN109783014B (zh) 2022-04-05
CN109783014A (zh) 2019-05-21

Similar Documents

Publication Publication Date Title
CN105760245B (zh) 一种存储数据的方法及装置
US10817386B2 (en) Virtual machine recovery method and virtual machine management device
JP6236533B2 (ja) 差分アップデートパッケージの作成方法及び装置、システム差分アップデート方法及び装置
CN104166606B (zh) 文件备份方法和主存储设备
EP3109757A2 (en) Data storage method, data recovery method, related apparatus, and system
US10860447B2 (en) Database cluster architecture based on dual port solid state disk
WO2014094479A1 (zh) 重复数据删除方法和装置
WO2024113726A1 (zh) 一种磁盘阵列重构任务加速方法、系统、存储介质及设备
CN106411872B (zh) 一种基于数据报文分类的报文压缩的方法和装置
CN105518641A (zh) 点对点数据复制方法、设备和系统以及主节点切换方法、设备和系统
CN112965660B (zh) 一种双存储池信息反馈的方法、系统、设备及介质
CN101771548A (zh) 文件同步方法及系统
CN109445687A (zh) 一种数据存储方法以及协议服务器
WO2023093323A1 (zh) 一种版本升级方法及装置
CN109739435A (zh) 文件存储和更新方法及装置
CN110351313B (zh) 数据缓存方法、装置、设备及存储介质
CN104461404A (zh) 元数据存储方法、装置以及系统
CN103744751B (zh) 存储设备配置信息连续优化备份系统及其使用方法
CN111045865A (zh) 一种基于块复制的实时同步方法及系统
CN110532235A (zh) 一种文件压缩、解压缩方法及装置
CN112269763A (zh) 一种文件聚合方法及相关装置
CN112905542A (zh) 一种文件处理方法、装置、服务器、设备及存储介质
CN102650961B (zh) 监控容灾系统数据复制的方法、系统和一种容灾系统
CN113641640B (zh) 用于流式计算系统的数据处理方法、装置、设备和介质
CN115562805A (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
GR01 Patent grant
GR01 Patent grant