CN105791353A - 基于纠删码的分布式数据存储方法及系统 - Google Patents

基于纠删码的分布式数据存储方法及系统 Download PDF

Info

Publication number
CN105791353A
CN105791353A CN201410814840.1A CN201410814840A CN105791353A CN 105791353 A CN105791353 A CN 105791353A CN 201410814840 A CN201410814840 A CN 201410814840A CN 105791353 A CN105791353 A CN 105791353A
Authority
CN
China
Prior art keywords
data
server
caching server
storage server
stored
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
CN201410814840.1A
Other languages
English (en)
Other versions
CN105791353B (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.)
Shenzhen Tencent Computer Systems Co Ltd
Original Assignee
Shenzhen Tencent Computer Systems 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 Shenzhen Tencent Computer Systems Co Ltd filed Critical Shenzhen Tencent Computer Systems Co Ltd
Priority to CN201410814840.1A priority Critical patent/CN105791353B/zh
Publication of CN105791353A publication Critical patent/CN105791353A/zh
Application granted granted Critical
Publication of CN105791353B publication Critical patent/CN105791353B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种基于纠删码的分布式数据存储方法及系统,所述方法包括:客户端将待存储数据写入缓存服务器中;缓存服务器对待存储数据进行缓存;当达到预定条件时,中转服务器向缓存服务器拉取预定大小的缓存数据,对缓存数据使用纠删码编码方式进行编码并生成校验数据;以及中转服务器将缓存数据写入存储服务器的多个数据块中,将校验数据写入存储服务器的至少一个校验块中。

Description

基于纠删码的分布式数据存储方法及系统
技术领域
本发明涉及计算机互联网技术,尤其涉及一种基于纠删码的分布式数据存储方法及系统。
背景技术
分布式存储系统,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
目前的分布式存储的主流方案都是使用了多副本的存储方式,即业务数据在多台设备上各存储一份完整的副本。但是,在多副本的存储方式下,主流的分布式存储业务需要的IOPS(Input/OutputOperationsPerSecond的简称,即每秒进行读写(I/O)操作的次数)能力远远低于硬件所能提供的能力,而且成本也很高。
为了解决成本高以及I/O浪费的问题,现在出现了基于纠删码(Raid或者RS等)的各种分布式存储方案。每个文件先分为一个或多个数据分片,然后再将这些分片作为数据块进行编码,生成多个校验块,从而保证整个存储系统的可用性和耐久性。其中,最常见的编码方式为按文件切分的编码方式。
按文件切分的编码方式,指的是在一些分布式存储系统中,将文件切分成多个分片,每个分片单独保存一份。同时将K个分片使用纠删码的方式进行编码,生成M个分片。这样K+M个分片组成一个条带。该系统的典型代表如开源的HDFSRaid。但是,这种方式最大的问题是对于小文件支持非常差。比如采用K+M的编码方式的话,那么即使对于只有4K的小文件,也需要K次I/O才可以将文件内容完全还原出来。这样就会造成磁盘性能的极大浪费。而且因为每次下载的I/O次数过多,这样也会造成下载操作的时延取决于最慢的那个I/O操作,最终体现给用户的时延过长。
发明内容
有鉴于此,有必要提供一种新的分布式数据存储方法及系统,既可以保证低延时,又可以确保数据的一致性和完整性。
本发明一实施例提出一种基于纠删码的分布式数据存储方法,包括:客户端将待存储数据写入缓存服务器中;所述缓存服务器对所述待存储数据进行缓存;当达到预定条件时,中转服务器向所述缓存服务器拉取预定大小的缓存数据,对所述缓存数据使用纠删码编码方式进行编码并生成校验数据;以及所述中转服务器将所述缓存数据写入存储服务器的多个数据块中,将所述校验数据写入所述存储服务器的至少一个校验块中。
本发明另一实施例还提出一种基于纠删码的分布式数据存储系统,包括:客户端、缓存服务器、中转服务器以及存储服务器。所述客户端用于将待存储数据写入所述缓存服务器中;所述缓存服务器用于对所述待存储数据进行缓存;当达到预定条件时,所述中转服务器向所述缓存服务器拉取预定大小的缓存数据,对所述缓存数据使用纠删码编码方式进行编码并生成校验数据;以及所述中转服务器还用于将所述缓存数据写入存储服务器的多个数据块中,将所述校验数据写入所述存储服务器的至少一个校验块中。
相对于现有技术,本发明各实施例提出的基于纠删码的分布式数据存储方法及系统,将上传数据写入可靠的写缓存,并且使用异步编码方式持久化成条带数据的方式,既保证了低延时,同时又确保了条带数据的一致性和完整性。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1为本发明实施例提供的基于纠删码的分布式数据存储方法的应用环境图(系统结构图)。
图2为本发明第一实施例提供的基于纠删码的分布式数据存储方法的流程图。
图3为本发明第一实施例提供的基于纠删码的分布式数据存储方法的时序图。
图4为本发明实施例中的数据及索引存储结构示意图。
图5为本发明第二实施例提供的基于纠删码的分布式数据存储方法的流程图。
图6为本发明第二实施例提供的基于纠删码的分布式数据存储方法的时序图。
图7为本发明第三实施例提供的基于纠删码的分布式数据存储方法的流程图。
图8为本发明第三实施例提供的基于纠删码的分布式数据存储方法的时序图。
图9为本发明实施例中的空间回收的原理示意图。
具体实施方式
图1所示为本发明实施例提供的基于纠删码的分布式数据存储方法的应用环境图,也是本发明实施例提供的基于纠删码的分布式数据存储系统的系统结构图。请参照图1,本发明实施例提供的基于纠删码的分布式数据存储方法可运行于分布式数据存储系统10中,该系统可以包括客户端101、缓存服务器102、中转服务器103、存储服务器104。
存储服务器104在本系统10里提供基于纠删码的存储服务。本系统10在存储服务器104的前端引入缓存服务器(cacheserver)102以及中转服务器(syncserver)103。
缓存服务器102会监听客户端101向服务器端发出的各种数据操作请求,例如写入、获取、删除等,并做出相应的响应。
中转服务器103用于使用异步的方式将缓存服务器102中缓存的数据通过纠删码编码的方式编码成一个完整的条带,写入所述存储服务器104中。
在本发明实施例中,存储服务器104可以包括多个设备。以各个设备上相同大小的物理空间为数据块或校验块。其中,数据块用于存储文件的数据内容,校验块用于存储通过纠删码编码方式产生的校验数据。
本发明的主要思路是客户端101先将待存储数据写入缓存服务器102,利用中转服务器103使用异步编码方式对待存储数据进行编码,然后持久化的写入存储服务器104中。这样,客户端101只要将待存储数据写入缓存服务器102就完成了写入操作,并不需要等待整个数据存储过程结束,可以保证读写请求的低延时,同时又可以由中转服务器103来确保条带数据的一致性和完整性。
为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。
第一实施例
图2为本发明第一实施例提供的基于纠删码的分布式数据存储方法的流程图,图3为本发明第一实施例提供的基于纠删码的分布式数据存储方法的时序图。请参照图2及图3,本实施例主要描述了数据写入(上传文件)的流程,本实施例中的方法包括以下步骤:
步骤S11,客户端向缓存服务器发送数据写请求,所述数据写请求中包括待存储数据。
在进行数据写请求前,客户端可以对大的文件进行分片处理,也就是将一个大的文件分成多个分片,这样可以保证整体访问的性能均衡性。分片的大小可以根据实际的情况进行设定,本发明的具体实施方式并不以此为限。
步骤S12,缓存服务器对所述待存储数据进行缓存。
优选的,将所述待存储数据存储在一个多份的写缓存中。
步骤S13,当达到预定条件时,中转服务器向所述缓存服务器拉取预定大小的缓存数据,对所述缓存数据使用纠删码编码方式进行编码并生成校验数据。
所述预定条件可以是所述缓存服务器中所缓存的数据的大小达到所述预定大小(例如K个分片大小)。如果客户端写入的是大文件的多个分片,优选的,缓存服务器会将这些分片进行连续的存储,以便中转服务器可以拉取到连续的数据。如果客户端写入的是小文件,缓存服务器可以等待缓存服务器中待存储数据达到预定大小时再一次拉取预定大小的缓存数据,然后再对这些数据进行编码,就不需要每写入一次数据就编码一次,以减少系统的负担。
或者,所述预定条件可以是所述客户端写入数据的操作超过预定时长。
或者,所述预定条件可以是所述缓存服务器出现故障,必须立即将客户端写入的数据进行持久化,等等。
所述预定条件还可以根据实际的情况进行设定,本发明的具体实施方式并不以此为限。
在拉取待存储数据前,所述中转服务器还可以先进行异步数据淘汰,也就是先删除缓存服务器中的脏数据。
步骤S14,所述中转服务器将所述缓存数据写入存储服务器的多个数据块中,将所述校验数据写入所述存储服务器的至少一个校验块中。
所述中转服务器将所述待存储数据写入存储服务器的过程也就是中转服务器对编码后的待存储数据进行持久化的过程。
进一步的,每个数据块或每个校验块均单独对应于所述存储服务器中的一个设备,在对应于所述多个数据块的多个设备中各自存储有自身的数据索引信息,在对应于至少一个校验块的至少一个设备中各自存储有所述多个数据块的所有数据索引信息。
请参见图4,具体来讲,对于一次写入操作,假设中转服务器103一次从缓存服务器102拉取了K个文件分片,通过纠删码方式编码产生了M个校验数据。于本实施例中,针对该次写入操作,该K个文件分片的数据内容会被存储进入存储服务器104中K个设备上的K个数据块中(如图4中的数据块D1~DK),该M个校验数据会被存储进入M各设备上的M个校验块中(如图4中的P1~PM)。也就是说,虽然每个设备上可以有多个数据块或校验块,但是,针对一次写入操作,每个设备只贡献一个数据块或校验块。
同时,数据索引的存储方式为,在存储K个数据块的K个设备中,各自分别存储自身的数据索引(如图4中,存储D1数据块的设备同时存储有索引1,索引1是对应于数据块D1的数据索引信息),然后在存储M个校验块的M个设备中,存储前面K个数据块的所有数据索引(如图4中,存储P1校验数据的设备同时存储有索引1~索引K,索引K是对应于数据块DK的数据索引信息),这样相当于每份数据索引都被存储了M+1份。其中,数据索引信息中包含了本设备上的数据列表以及每个数据在本设备的底层存储的位置信息。这样,就可以达到数据与元数据分离的效果,在数据下载的过程中,即使是一个设备发生了损坏,仍然可以从其他设备的索引信息中找到其他数据块在底层存储的位置信息,从而根据其他数据块中的数据将损坏的数据恢复出来。而且对数据进行删除时,只要将数据索引信息进行删除,然后将空闲空间回收即可。
步骤S15,当所述待存储数据被完整的存入所述存储服务器中时,所述中转服务器删除所述缓存服务器中的待存储数据。
当中转服务器完成数据持久化,也就是所述待存储数据被完整的存入所述存储服务器中时,中转服务器就可以删除所述缓存服务器中的待存储数据,也就是脏数据。
当存储服务器中因为设备故障等原因导致有部分数据块没有写入成功的时候,认为该次持久化没有完全成功,这个时候不能清除缓存服务器中的待存储数据(也就是脏数据),这个时候下载数据就会以缓存服务器中的数据为准,另外,存储服务器中的故障修复之后,或者重新映射了其他正常的设备,这个时候中转服务器103就可以再次发起对编码后的待存储数据进行持久化。这样就可以保证存储服务器中各个条带数据的一致性和完整性。另外,采用数据内容和元数据分离的方式,优化了删除流程,节省了额外的回收站机制。
第二实施例
图5为本发明第二实施例提供的基于纠删码的分布式数据存储方法的流程图;图6为本发明第二实施例提供的基于纠删码的分布式数据存储方法的时序图。本实施例以第一实施例为基础,主要描述了数据获取(文件下载)的主要流程,请参照图5及图6,本实施例中的方法包括以下步骤:
步骤S21,客户端向缓存服务器发送数据获取请求,所述数据获取请求中包括待获取数据的键值。
步骤S22,缓存服务器根据所述键值查找本地是否存储有所述待获取数据,如果有,则直接将所述待获取数据返回所述客户端,否则,执行步骤S23。
步骤S23,所述缓存服务器将所述数据获取请求发送给存储服务器。
步骤S24,所述存储服务器根据所述键值查找到所述待获取数据后,将所述待获取数据通过所述缓存服务器返回给所述客户端。
步骤S25,所述客户端接收到所述存储服务器返回的数据后,对其进行解码,得到完整的数据。
如前所述,当存储服务器中因为设备故障等原因导致有部分数据块没有写入成功的时候,就认为中转服务器的持久化没有完全成功,这个时候不能清除缓存服务器中的待存储数据(也就是脏数据),这个时候获取数据就会以缓存服务器中的数据为准(也就是步骤S22)。另外,由于每份数据索引都被存储了M+1份,因此,数据的查找和定位都更加快速。
第三实施例
图7为本发明第二实施例提供的基于纠删码的分布式数据存储方法的流程图;图8为本发明第二实施例提供的基于纠删码的分布式数据存储方法的时序图。本实施例以第一实施例为基础,主要描述了数据删除(文件删除)的主要流程,请参照图7及图8,本实施例中的方法包括以下步骤:
步骤S31,客户端向缓存服务器发送数据删除请求,所述数据删除请求中包括待删除数据的键值;
步骤S32,缓存服务器根据所述键值查找并删除本地存储的所述待删除数据;
步骤S33,所述缓存服务器将所述数据删除请求发送给存储服务器;
步骤S34,所述存储服务器所述存储服务器根据所述键值查找并删除与所述待删除数据对应的数据索引信息。
这里删除的数据索引信息指的是删除保存在各个设备中的M+1份数据索引信息。
当完成删除操作后,数据索引中的信息已经被删除,所以虽然数据内容还占据着空间,但是由于索引已经删除,数据内容已经无法访问,对于系统来说已经是没有用的数据,但是数据内容所占据的空间并不能够马上被释放并回收利用。这时候需要对空间进行回收,也就是执行步骤S35。
步骤S35,所述中转服务器向所述存储服务器拉取预定数量个数据块中还没有被删除数据索引信息的数据;对所述还没有被删除数据索引信息的数据使用纠删码编码方式进行编码并生成新校验数据,将所述还没有被删除数据索引信息的数据存储在新设备的数据块中,将所述新校验数据存储在新设备的校验块中,更新对应的数据索引信息。
请参见图9,假设与D12、DK1、DK3对应的数据索引信息已经被删除,中转服务器103向存储服务器104拉取K个数据块中还没有被删除数据索引信息的数据(除D12、DK1、DK3外的数据)。中转服务器103对这些数据使用纠删码编码方式进行编码并生成新校验数据P1’、PM’,将所述还没有被删除数据索引信息的数据存储在新设备的数据块中,将所述新校验数据存储在新设备的校验块中,更新对应的数据索引信息。整理出来的各个数据块尾部的空闲空间,可以供新数据写入,这样就节省了额外的回收站机制。
第四实施例
本发明第四实施例提供的基于纠删码的分布式数据存储系统的结构示意图也如图1。本实施例提供的系统10包括:客户端101、缓存服务器102、中转服务器103以及存储服务器104。
具体的,所述客户端101用于将待存储数据写入所述缓存服务器102中;
所述缓存服务器102用于对所述待存储数据进行缓存;
当达到预定条件时,所述中转服务器103向所述缓存服务器102拉取预定大小的缓存数据,对所述缓存数据使用纠删码编码方式进行编码并生成校验数据;以及
所述中转服务器103还用于将所述缓存数据写入存储服务器104的多个数据块中,将所述校验数据写入所述存储服务器104的至少一个校验块中。
所述预定条件可以包括:所述客户端101写入所述缓存服务器102中的待存储数据的大小达到所述预定大小;或者所述客户端101写入数据的操作超过预定时长;或者所述缓存服务器102出现故障,等。
进一步的,所述客户端101还用于向所述缓存服务器102发送数据获取请求;所述缓存服务器102还用于根据所述数据获取请求查找本地是否存储有所述待获取数据,如果有,则直接将所述待获取数据返回所述客户端101,否则,将所述数据获取请求发送给所述存储服务器104。
进一步的,当所述存储服务器104接收到所述数据获取请求时,所述存储服务器104还用于查找所述待获取数据,并将所述待获取数据通过所述缓存服务器104返回所述客户端101,所述客户端101还用于对所述存储服务器104返回的数据进行解码。
进一步的,所述每个数据块或每个校验块均分别单独对应于所述存储服务器104的多个设备中的一个设备,在对应于所述多个数据块的多个设备中各自存储有自身的数据索引信息,在对应于至少一个校验块的至少一个设备中各自存储有所述多个数据块的所有数据索引信息。
进一步的,所述客户端101还用于向缓存服务器102发送数据删除请求;所述缓存服务器102还用于根据所述数据删除请求查找并删除本地存储的所述待删除数据;所述缓存服务器102还用于将所述数据删除请求发送给所述存储服务器104;所述存储服务器104还用于根据所述数据删除请求查找并删除与所述待删除数据对应的数据索引信息。
进一步的,所述中转服务器103还用于向所述存储服务器104拉取预定数量个数据块中还没有被删除数据索引信息的数据;对所述还没有被删除数据索引信息的数据使用纠删码编码方式进行编码并生成新校验数据,将所述还没有被删除数据索引信息的数据存储在新设备的数据块中,将所述新校验数据存储在新设备的校验块中,更新对应的数据索引信息。
本实施例对基于纠删码的分布式数据存储系统的各设备实现各自功能的具体过程,请参见上述图1至图9所示实施例中描述的具体内容,此处不再赘述。
本实施例提供的基于纠删码的分布式数据存储系统,将上传数据写入可靠的写缓存,并且使用异步编码方式持久化成条带数据的方式,既保证了读写请求的低延时,同时又确保了条带数据的一致性和完整性。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (12)

1.一种基于纠删码的分布式数据存储方法,其特征在于,包括:
客户端将待存储数据写入缓存服务器中;
所述缓存服务器对所述待存储数据进行缓存;
当达到预定条件时,中转服务器向所述缓存服务器拉取预定大小的缓存数据,对所述缓存数据使用纠删码编码方式进行编码并生成校验数据;以及
所述中转服务器将所述缓存数据写入存储服务器的多个数据块中,将所述校验数据写入所述存储服务器的至少一个校验块中。
2.如权利要求1所述的方法,其特征在于,所述预定条件包括:
所述缓存服务器中所缓存的数据的大小达到所述预定大小;或
所述客户端写入数据的操作超过预定时长;或者
所述缓存服务器出现故障。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述客户端向所述缓存服务器发送数据获取请求;
所述缓存服务器根据所述数据获取请求查找本地是否存储有所述待获取数据,如果有,则直接将所述待获取数据返回所述客户端,否则,将所述数据获取请求发送给所述存储服务器;以及
当所述存储服务器接收到所述数据获取请求时,查找所述待获取数据,并将所述待获取数据通过所述缓存服务器返回所述客户端,所述客户端对所述存储服务器返回的数据进行解码。
4.如权利要求1所述的方法,其特征在于,所述每个数据块或每个校验块均分别单独对应于所述存储服务器的多个设备中的一个设备,在对应于所述多个数据块的多个设备中各自存储有自身的数据索引信息,在对应于至少一个校验块的至少一个设备中各自存储有所述多个数据块的所有数据索引信息。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
所述客户端向缓存服务器发送数据删除请求;
所述缓存服务器根据所述数据删除请求查找并删除本地存储的所述待删除数据;
所述缓存服务器将所述数据删除请求发送给所述存储服务器;以及
所述存储服务器根据所述数据删除请求查找并删除与所述待删除数据对应的数据索引信息。
6.如权利要求5所述的方法,其特征在于,所述存储服务器根据所述数据删除请求查找并删除与所述待删除数据对应的数据索引信息的步骤之后,还包括:
所述中转服务器向所述存储服务器拉取预定数量个数据块中还没有被删除数据索引信息的数据;
对所述还没有被删除数据索引信息的数据使用纠删码编码方式进行编码并生成新校验数据,将所述还没有被删除数据索引信息的数据存储在新设备的数据块中,将所述新校验数据存储在新设备的校验块中,更新对应的数据索引信息。
7.一种基于纠删码的分布式数据存储系统,其特征在于,包括:客户端、缓存服务器、中转服务器以及存储服务器,
所述客户端用于将待存储数据写入所述缓存服务器中;
所述缓存服务器用于对所述待存储数据进行缓存;
当达到预定条件时,所述中转服务器向所述缓存服务器拉取预定大小的缓存数据,对所述缓存数据使用纠删码编码方式进行编码并生成校验数据;以及
所述中转服务器还用于将所述缓存数据写入存储服务器的多个数据块中,将所述校验数据写入所述存储服务器的至少一个校验块中。
8.如权利要求7所述的系统,其特征在于,所述预定条件包括:
所述缓存服务器中所缓存的数据的大小达到所述预定大小;或者
所述客户端写入数据的操作超过预定时长;或者
所述缓存服务器出现故障。
9.如权利要求7所述的系统,其特征在于,
所述客户端还用于向所述缓存服务器发送数据获取请求;
所述缓存服务器还用于根据所述数据获取请求查找本地是否存储有所述待获取数据,如果有,则直接将所述待获取数据返回所述客户端,否则,将所述数据获取请求发送给所述存储服务器;
当所述存储服务器接收到所述数据获取请求时,所述存储服务器还用于查找所述待获取数据,并将所述待获取数据通过所述缓存服务器返回所述客户端,所述客户端还用于对所述存储服务器返回的数据进行解码。
10.如权利要求7所述的系统,其特征在于,所述每个数据块或每个校验块均分别单独对应于所述存储服务器的多个设备中的一个设备,在对应于所述多个数据块的多个设备中各自存储有自身的数据索引信息,在对应于至少一个校验块的至少一个设备中各自存储有所述多个数据块的所有数据索引信息。
11.如权利要求10所述的系统,其特征在于,
所述客户端还用于向缓存服务器发送数据删除请求;
所述缓存服务器还用于根据所述数据删除请求查找并删除本地存储的所述待删除数据;
所述缓存服务器还用于将所述数据删除请求发送给所述存储服务器;
所述存储服务器还用于根据所述数据删除请求查找并删除与所述待删除数据对应的数据索引信息。
12.如权利要求11所述的系统,其特征在于,所述中转服务器还用于向所述存储服务器拉取预定数量个数据块中还没有被删除数据索引信息的数据;对所述还没有被删除数据索引信息的数据使用纠删码编码方式进行编码并生成新校验数据,将所述还没有被删除数据索引信息的数据存储在新设备的数据块中,将所述新校验数据存储在新设备的校验块中,更新对应的数据索引信息。
CN201410814840.1A 2014-12-23 2014-12-23 基于纠删码的分布式数据存储方法及系统 Active CN105791353B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410814840.1A CN105791353B (zh) 2014-12-23 2014-12-23 基于纠删码的分布式数据存储方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410814840.1A CN105791353B (zh) 2014-12-23 2014-12-23 基于纠删码的分布式数据存储方法及系统

Publications (2)

Publication Number Publication Date
CN105791353A true CN105791353A (zh) 2016-07-20
CN105791353B CN105791353B (zh) 2020-03-17

Family

ID=56377357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410814840.1A Active CN105791353B (zh) 2014-12-23 2014-12-23 基于纠删码的分布式数据存储方法及系统

Country Status (1)

Country Link
CN (1) CN105791353B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201766A (zh) * 2016-07-25 2016-12-07 深圳市中博科创信息技术有限公司 数据存储控制方法及数据服务器
CN106657356A (zh) * 2016-12-29 2017-05-10 郑州云海信息技术有限公司 一种云存储系统的数据写入方法、装置及云存储系统
CN106717000A (zh) * 2016-12-12 2017-05-24 深圳市大疆创新科技有限公司 图像信号处理方法和装置
CN106909470A (zh) * 2017-01-20 2017-06-30 深圳市中博科创信息技术有限公司 基于纠删码的分布式文件系统存储方法及装置
WO2018059222A1 (zh) * 2016-09-28 2018-04-05 杭州海康威视数字技术股份有限公司 一种文件切片上传方法、装置及云存储系统
CN108664351A (zh) * 2017-03-31 2018-10-16 杭州海康威视数字技术股份有限公司 一种数据存储、重构、清理方法、装置及数据处理系统
CN109144766A (zh) * 2017-06-28 2019-01-04 杭州海康威视数字技术股份有限公司 一种数据存储、重构方法和装置、及电子设备
WO2019047875A1 (zh) * 2017-09-06 2019-03-14 杭州海康威视系统技术有限公司 一种数据存储、读取方法及装置
CN110377235A (zh) * 2019-07-26 2019-10-25 Oppo(重庆)智能科技有限公司 数据处理方法、装置、移动终端及计算机可读存储介质
CN110389855A (zh) * 2018-04-19 2019-10-29 浙江宇视科技有限公司 磁带库数据校验方法、装置、电子设备和可读存储介质
CN111008181A (zh) * 2019-10-31 2020-04-14 苏州浪潮智能科技有限公司 一种分布式文件系统存储策略切换方法、系统、终端及存储介质
CN111367825A (zh) * 2018-12-26 2020-07-03 北京忆恒创源科技有限公司 存储设备的虚拟校验数据缓存
CN111541753A (zh) * 2020-04-16 2020-08-14 深圳市网心科技有限公司 区块链数据的分布式存储系统、方法、计算机设备及介质
CN112015583A (zh) * 2017-12-20 2020-12-01 华为技术有限公司 一种数据存储的方法、装置和系统
CN113010113A (zh) * 2021-03-17 2021-06-22 阿里巴巴新加坡控股有限公司 数据处理方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103119133A (zh) * 2010-09-30 2013-05-22 环球油品公司 共用分馏的两级加氢操作装置和方法
CN103209210A (zh) * 2013-03-04 2013-07-17 华中科技大学 一种提高基于纠删码的存储集群恢复性能的方法
CN103761195A (zh) * 2014-01-09 2014-04-30 浪潮电子信息产业股份有限公司 一种利用分布式数据编码的存储方法
CN103944981A (zh) * 2014-04-14 2014-07-23 中国科学院计算技术研究所 一种基于纠删码技术改进的云存储系统及实现方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103119133A (zh) * 2010-09-30 2013-05-22 环球油品公司 共用分馏的两级加氢操作装置和方法
CN103209210A (zh) * 2013-03-04 2013-07-17 华中科技大学 一种提高基于纠删码的存储集群恢复性能的方法
CN103761195A (zh) * 2014-01-09 2014-04-30 浪潮电子信息产业股份有限公司 一种利用分布式数据编码的存储方法
CN103944981A (zh) * 2014-04-14 2014-07-23 中国科学院计算技术研究所 一种基于纠删码技术改进的云存储系统及实现方法

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018018827A1 (zh) * 2016-07-25 2018-02-01 深圳市中博科创信息技术有限公司 数据存储控制方法及数据服务器
CN106201766A (zh) * 2016-07-25 2016-12-07 深圳市中博科创信息技术有限公司 数据存储控制方法及数据服务器
WO2018059222A1 (zh) * 2016-09-28 2018-04-05 杭州海康威视数字技术股份有限公司 一种文件切片上传方法、装置及云存储系统
CN106717000A (zh) * 2016-12-12 2017-05-24 深圳市大疆创新科技有限公司 图像信号处理方法和装置
CN106657356A (zh) * 2016-12-29 2017-05-10 郑州云海信息技术有限公司 一种云存储系统的数据写入方法、装置及云存储系统
CN106909470A (zh) * 2017-01-20 2017-06-30 深圳市中博科创信息技术有限公司 基于纠删码的分布式文件系统存储方法及装置
CN108664351A (zh) * 2017-03-31 2018-10-16 杭州海康威视数字技术股份有限公司 一种数据存储、重构、清理方法、装置及数据处理系统
CN109144766A (zh) * 2017-06-28 2019-01-04 杭州海康威视数字技术股份有限公司 一种数据存储、重构方法和装置、及电子设备
WO2019047875A1 (zh) * 2017-09-06 2019-03-14 杭州海康威视系统技术有限公司 一种数据存储、读取方法及装置
CN112015583A (zh) * 2017-12-20 2020-12-01 华为技术有限公司 一种数据存储的方法、装置和系统
US11487618B2 (en) 2017-12-20 2022-11-01 Huawei Cloud Computing Technologies Co., Ltd. Data storage method, apparatus, and system
CN112015583B (zh) * 2017-12-20 2022-06-28 华为云计算技术有限公司 一种数据存储的方法、装置和系统
CN110389855A (zh) * 2018-04-19 2019-10-29 浙江宇视科技有限公司 磁带库数据校验方法、装置、电子设备和可读存储介质
CN110389855B (zh) * 2018-04-19 2021-12-28 浙江宇视科技有限公司 磁带库数据校验方法、装置、电子设备和可读存储介质
CN111367825A (zh) * 2018-12-26 2020-07-03 北京忆恒创源科技有限公司 存储设备的虚拟校验数据缓存
CN110377235A (zh) * 2019-07-26 2019-10-25 Oppo(重庆)智能科技有限公司 数据处理方法、装置、移动终端及计算机可读存储介质
CN110377235B (zh) * 2019-07-26 2023-04-07 Oppo(重庆)智能科技有限公司 数据处理方法、装置、移动终端及计算机可读存储介质
CN111008181A (zh) * 2019-10-31 2020-04-14 苏州浪潮智能科技有限公司 一种分布式文件系统存储策略切换方法、系统、终端及存储介质
CN111541753A (zh) * 2020-04-16 2020-08-14 深圳市网心科技有限公司 区块链数据的分布式存储系统、方法、计算机设备及介质
CN111541753B (zh) * 2020-04-16 2024-02-27 深圳市迅雷网络技术有限公司 区块链数据的分布式存储系统、方法、计算机设备及介质
CN113010113A (zh) * 2021-03-17 2021-06-22 阿里巴巴新加坡控股有限公司 数据处理方法、装置及设备
CN113010113B (zh) * 2021-03-17 2024-05-14 阿里巴巴创新公司 数据处理方法、装置及设备

Also Published As

Publication number Publication date
CN105791353B (zh) 2020-03-17

Similar Documents

Publication Publication Date Title
CN105791353A (zh) 基于纠删码的分布式数据存储方法及系统
US11461296B2 (en) Systems and methods for database management using append-only storage devices
US11449239B2 (en) Write-ahead log maintenance and recovery
US10078598B1 (en) Maintaining a separate LRU linked list for each thread for multi-threaded access
US9699255B2 (en) Device driver
US9052832B2 (en) System and method for providing long-term storage for data
US7844643B2 (en) Storage management system with integrated continuous data protection and remote copy
US9569367B1 (en) Cache eviction based on types of data stored in storage systems
CN104272272B (zh) 混合储存集合去除重复
US9317218B1 (en) Memory efficient sanitization of a deduplicated storage system using a perfect hash function
US9747317B2 (en) Preserving past states of file system nodes
US9430164B1 (en) Memory efficient sanitization of a deduplicated storage system
US8280858B2 (en) Storage pool scrubbing with concurrent snapshots
US9529731B1 (en) Contention-free approximate LRU for multi-threaded access
US20150193342A1 (en) Storage apparatus and method of controlling the same
CN102782683A (zh) 用于数据库服务器的缓冲池扩展
KR20160124181A (ko) 수정된 메모리 압축
US10649682B1 (en) Focused sanitization process for deduplicated storage systems
US9189408B1 (en) System and method of offline annotation of future accesses for improving performance of backup storage system
US20130332652A1 (en) Computer system and method for controlling computer system
US9600200B1 (en) Method to extend SSD lifespan in caching applications by aggregating related content into large cache units
JP6269253B2 (ja) 分散ストレージシステム、記憶装置制御方法、および記憶装置制御プログラム
US10372688B2 (en) Moving data within a distributed data storage system using virtual file links
KR101456104B1 (ko) 비휘발성 메모리를 위한 듀얼 버퍼링 파일 관리 방법, 파일 관리 시스템 및 대용량 저장 장치
US9767029B2 (en) Data decompression using a construction area

Legal Events

Date Code Title Description
C06 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