CN106547484A - 一种基于raid5的实现内存数据可靠性方法及系统 - Google Patents

一种基于raid5的实现内存数据可靠性方法及系统 Download PDF

Info

Publication number
CN106547484A
CN106547484A CN201610914581.9A CN201610914581A CN106547484A CN 106547484 A CN106547484 A CN 106547484A CN 201610914581 A CN201610914581 A CN 201610914581A CN 106547484 A CN106547484 A CN 106547484A
Authority
CN
China
Prior art keywords
data
server
storage
item
client
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
CN201610914581.9A
Other languages
English (en)
Other versions
CN106547484B (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201610914581.9A priority Critical patent/CN106547484B/zh
Publication of CN106547484A publication Critical patent/CN106547484A/zh
Application granted granted Critical
Publication of CN106547484B publication Critical patent/CN106547484B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0614Improving the reliability of storage 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/1458Management of the backup or restore process
    • G06F11/1469Backup restoration 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于RAID5的实现内存数据可靠性方法及系统,包括:在每台分布式存储服务器中划分一部分内存数据做缓存,然后构建RAID5;将经常访问的数据放到内存数据库中;除了存储基本数据还要存储额外的元数据信息,用于标识RAID5的条带信息;当所有存储服务器正常运行时,客户端直接从内存中读取数据;当发生单点故障时,客户端通过存储的元数据信息可以得到同一个条带的数据,在内存级别将数据恢复出来,提供的给用户,而不用去访问存取速度比内存低几个数量级的硬盘,从而提高了存储系统的可靠性;同时,通过构建RAID5,在达到可靠性的同时,降低了数据存储冗余度,从而节省成本。

Description

一种基于RAID5的实现内存数据可靠性方法及系统
技术领域
本发明涉及计算机领域,具体涉及一种基于RAID5实现分布式存储系统的内存数据可靠性方法及系统。
背景技术
随着互联网的深入普及以及移动互联网的蓬勃发展,越来越多的web应用涌现,它们对于访问延迟和吞吐量等性能参数有很高的要求,如社交网络、信息检索和电子商务等。而且随着智能手机的普及,web应用的用户的数量也是与日俱增,动辄百万千万级甚至上亿级的用户访问,对系统的架构和性能提出了严峻的考验。
传统的关系型数据库在面对海量数据存在三个问题:第一、高性能,对数据库高并发读写的需求。庞大的用户数量会导致数量巨大的并发访问,这是磁盘难以承受的。第二、海量存储,对海量数据的高效率存储和访问的需求。数据量的快速增长,关系型数据库通过查表的方式来查找数据会导致效率低下。第三、可扩展性,对数据库的高可扩展性的需求。对于web应用,数据库是最难以扩展的。当一个应用的用户数量和访问量日益增加,数据库没办法简单的添加硬件资源或节点来扩展性能和负载能力。而且对于7*24小时服务器的系统,传统的数据库维护和升级一般需要停机维护和数据迁移。
NoSQL技术的提出,可以在很大程度上解决上述的问题,与此同时,面对大数据,显然单机已经不能满足容量或者性能上需求了。分布式的存储成为一个必须选择的方案。分布式系统相对于单机的明显优点就是存储容量不再受到限制,当容量不够的时候,可以简单地增加节点来扩展。而且多个节点可以提供更多的计算资源,可以采取多线程并行读写,性能上也会有明显提升。计算机系统最快的存储系统是传统上主要作为内存的RAM。将数据直接放到内存中或者将一部分内存资源作为缓存使用,可以使系统的性能得到大幅提升,相对于磁盘,直接从内存中获取数据会快得多,因此,采用In-memory的方案可以进一步的将NoSQL的优点充分发挥出来。当前In-memory的NoSQL存储系统在提供数据可靠性方面都是采用备份或者持久化到磁盘的方式,有的干脆不提供数据可靠性。备份系统对于存储成本是一个翻倍的过程,而持久化到磁盘在性能上又会受到明显影响。
发明内容
针对现有技术缺陷或者不足,本发明提供一种基于RAID5实现分布式存储系统的内存数据可靠性方法及系统,本发明具有数据可靠性高,并且节约存储成本的特点。
本发明提供的一种实现内存数据可靠性的方法,其特征在于,该方法包括数据存储过程和数据读取过程,其中,数据存储过程包括:
(1)当客户端存储一个数据Item时,通过客户端的hash算法选择一个服务器进行存储;
(2)客户端将所述数据Item添加到一个记录链表中,该记录链表用于记录客户端向服务器发送的所有存储的Item;
(3)当客户端检测到有数据Item加入记录链表,遍历所述记录链表,判断记录链表中是否有几个Item构成了一个条带,如果有,进入步骤(4),如果没有,结束数据存储过程;
(4)将构成一个条带的数据Item进行异或,得到校验信息存储到特定的服务器中,所述校验信息是按一定的规律分散的存储在各个存储服务器中的;
(5)对同一个条带的数据Item,记录条带信息即元数据信息,并按照一定的组织格式以一定的规律分散的存储到各个存储服务器中;
(6)当元数据信息存储完成后,客户端将记录链表中的同一条带的数据Item删除;
所述数据读取过程为:
当服务器正常运行时,客户端通过key找到对应的value,客户端向服务器请求数据,然后服务器返回客户端请求的数据;当其中一台服务器出现故障时,客户端获取存储在此服务器上的Item,先获取元数据信息,通过元数据信息得到同一条带的数据和对应的校验信息,通过RAID5的异或操作将此Item的数据恢复出来,返回给客户端。
本发明提供的一种实现内存数据可靠性的系统,其特征在于,该系统包括设置在各客户端的数据存储模块和数据读取模块,以及至少三台存储服务器,各存储服务器均提供一定容量的内存组成RAID5,共同组成RAID5集群;
数据存储模块包括下述子模块:
第一子模块:用于在客户端存储一个数据Item时,通过客户端的hash算法选择一个服务器进行存储;
第二子模块:用于客户端将所述数据Item添加到一个记录链表中,该记录链表用于记录客户端向服务器发送的所有存储的Item;
第三子模块:用于当客户端检测到有数据Item加入记录链表,遍历所述记录链表,判断记录链表中是否有几个Item构成了一个条带,如果有,进入第四子模块,如果没有,进入第六子模块;
第四子模块:用于将构成一个条带的数据Item进行异或,得到校验信息存储到特定的服务器中,所述校验信息是按一定的规律分散的存储在各个存储服务器中的;
第五子模块:用于对同一个条带的数据Item,记录条带信息即元数据信息,并按照一定的组织格式以一定的规律分散的存储到各个存储服务器中;
第六子模块:用于当元数据信息存储完成后,客户端将记录链表中的同一条带的数据Item删除;
所述数据读取模块在当服务器正常运行时,客户端通过key找到对应的value,客户端向服务器请求数据,然后服务器返回客户端请求的数据;当其中一台服务器出现故障时,客户端获取存储在此服务器上的Item,先获取元数据信息,通过元数据信息得到同一条带的数据和对应的校验信息,通过RAID5的异或操作将此Item的数据恢复出来,返回给客户端。
本发明至少需要三台服务器来组成RAID5集群来存储数据。每一台服务器提供一定容量的内存组成RAID5。存储数据时,通过构建RAID5来保证数据的可靠性,当发生单点故障(其中一台机器宕机了)时,仍然可以在不访问磁盘上数据库的情况下,在内存级别恢复出数据来。通过构建RAID5可以明显的降低数据的冗余度,从而降低数据存储成本,而且在出现单点故障的情况下也可以保持较高的性能。总体而言,按照本发明点的以上技术方案与现有技术相比,主要具备以下的技术优点:
1、本系统至少需要三台数据存储服务器组成系统,每个系统需要划分出来一定的内存资源用于,存储经常访问的数据。当系统出现单点故障后,可以不去访问磁盘,通过RAID5的数据恢复原理,在内存级别还原出数据,保证了系统的高性能,可靠性。
2、本系统采用RAID5编码的方式,相较于备份方式,会节省更多的存储成本,而且存储机器数量越多,节约的存储成本越多。
附图说明
图1是本系统的基本架构图;
图2是RAID5的数据组织形式;
图3是正常获取数据过程示意图;
图4是正常获取数据过程流程图;
图5是本系统的数据存储示意图;
图6是数据存储流程图;
图7是单点故障时数据获取示意图;
图8是单点故障时数据获取流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
根据实际应用需求在每台服务器上划分出一定容量的内存资源,用来存储数据;其中数据存储的形式是key/value形式。以下称数据为Item。
本发明提供的一种实现内存数据可靠性的方法,包括数据存储和数据读取二个过程,其中数据存储过程包括下述步骤:
(1)客户端在存储一个数据Item时,会通过客户端的hash算法(例如一致性hash算法)选择一个服务器进行存储。具体实现步骤如下
(1-1)对要存储数据的key计算hash得到一个hash值
(1-2)用这个hash值选择一个服务器,将数据发送给这个服务器,进行存储。
(2)客户端将Item添加到一个记录链表中。此记录链表用于记录客户端向服务器发送的所有存储的Item。
(3)客户端检测到了一个Item加入记录链表,会遍历记录链表。判断记录链表中是否有几个Item构成了一个条带,如果没有,则结束存储过程;如果有,进入步骤(4);
(4)将构成一个条带的Item进行异或,得到校验信息存储到特定的服务器中。校验信息是按一定的规律分散的存储在各个存储服务器中的。具体实现步骤可以包括:
(4-1):将同一条带的信息进行异或操作,得到校验信息。
(4-2):从有最大ID的服务器开始,按照循环加1取模的方式,按照服务器ID,从大到小的顺序存储校验信息,到最小后,再转到最大,以此循环。
(5)对同一个条带的Item,需要将条带信息(下面称为元数据信息)记录下来,按照一定的组织格式以一定的规律分散的存储到各个存储服务器中。
存储元数据信息的步骤可以包括:
(5-1):对于同一条带的Item,需要记录每个Item的key的信息,在数据恢复的时候通过查找的key找到处于同一条带的其他key。
(5-2)对于每一个key,将元数据信息存储到存储此Item的服务器的下一台服务器中,如果是最大的服务器,则选择第1台服务器,避免放在同一台原因是当此服务器坏了,可以通过下一台机器找到条带信息。
(6)元数据信息存储完成,客户端将记录链表中的同一条带的Item删除。
所述数据读取过程为:
当服务器正常运行时,客户端通过key在找到对应的value。如图3中的步骤1和步骤2,客户端向服务器请求数据,然后服务器返回客户端请求的数据;当其中一台服务器出现故障时,客户端获取存储在此服务器上的Item,可先获取元数据信息,通过元数据信息可以得到同一条带的数据和对应的校验信息,通过RAID5的异或操作将此Item的数据恢复出来,返回给客户端。
其中,所述数据恢复的过程如图7所示,具体包括:
(b1)客户端通过hash算法,找到key对应的存储Item的服务器,然后对服务器的ID加1,对服务器数量取模,得到元数据信息。
得到元数据信息具体包括以下步骤:
b11、客户端通过计算或者Item的key的hash值,得到Item所在的服务器的ID,如图7中的步骤1。
b12、对得到的ID加1,获取同一条带的另一个Item的key的信息,并向此服务器发送请求得到对应的数据。图7中的步骤2为请求过程,步骤3为服务器对客户端的响应过程;
b13、根据b12中得到的元数据信息,再次向服务器请求同一条带的数据信息,如图7中的步骤4和5。
(b2)客户端将同一条带的信息进行异或操作,得到校验信息的key,并向存储校验信息的服务器发送请求获取校验信息,如图7的步骤6,相应的服务器返回校验信息。
(b3)通过校验信息得到条带数据和校验数据。对数据进行异或计算恢复出所需数据,返回给客户端。
实例:
本发明的技术方案是按照以下方式实现的,系统物理环境和架构如下:
采用4台服务器,在上面运行Memcached,将每台机器划分出1G内存来存储热数据。将其组织成RAID5。
如图2所示:RAID5中处于同一位置的数据称为一个条带,即图中的Data1,Data2,Data3。PData1是校验信息,其中
上述的Data在实际系统中是一个Item,即一个key/value对。在本系统中,除了存储Data的基本数据,还要存储一个条带的信息。当其中的一台服务器坏掉了,例如第一台机器坏掉了,即Data1丢失了,系统可通过记录的条带信息,得到Data2,Data3和PData1.则有
可恢复出Data1。具体的存储组织形式如图5。
根据图5所示,本系统中的Data就是一个Item,其中ItemA,ItemB,ItemC是一个条带。其中ItemA的具体信息为KeyA:ValueA,ItemB的具体信息为keyB:valueB,ItemC的具体信息为keyC:valueC,同时还要记录条带信息,目的是通过任意一个key可以找到与其处在同一条带的其他Item。如图5中的第三行,需要存储keyA:keyB,这样可以通过keyA找到keyB。同理存储keyB:keyB和keyC:keyA。存储是按照一定的规律来的。考虑到其中一台服务器坏掉了,可以得到原来的服务器ID,然后加1,即可得到同一条带的其他key的信息,进而获取相应的数据,通过异或将数据恢复出来。
图4是当服务器正常时,获取数据的流程图。客户端持有请求数据的key,需要获取对应的value。1)需要通过某种hash算法(例如一致性hash算法)获取存储其数据的服务器ID。2)向此服务器发起请求,若服务器上有此数据,则返回,若没有则返回空值。
图6是存储数据的流程图,客户端持有一个Item,即一个key/value对,将value存储到其中某一台服务器中去。1)通过某种hash算法(例如一致性hash算法)选择一台服务器。2)将数据存储到这台服务器中去。3)将此Item加入到记录链表中,扫描链表,是否凑齐了一个条带。4)若不够一个条带,则返回。5)若凑齐了一个条带,如,ItemA,ItemB,ItemC,都在记录链表中了。则通过异或计算出ItemP。将ItemP存储到某一台服务器中。6)存储同一条带的元数据信息,每一个元数据信息,存储到此Item的下一台服务器上面。
图8为发生了单点故障后的数据获取流程图。假设服务器1坏了。客户端持有ItemA的KeyA,需要得到ValueA。1)通过某种hash算法(例如一致性hash算法)获取存储ItemA的服务器ID,然后向ID服务器请求数据,发现ID服务器已经坏掉了。2)将ID加1,通过KeyA找到KeyB,通过KeyB找到KeyC,即可得到ValueB和VlaueC。3)再通过得到KeyP,通过KeyP可以得到ValueP。4)通过可以恢复出ValueA。
5)返回ValueA。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种实现内存数据可靠性的方法,其特征在于,该方法包括数据存储过程和数据读取过程,其中,数据存储过程包括:
(1)当客户端存储一个数据Item时,通过客户端的hash算法选择一个服务器进行存储;
(2)客户端将所述数据Item添加到一个记录链表中,该记录链表用于记录客户端向服务器发送的所有存储的Item;
(3)当客户端检测到有数据Item加入记录链表,遍历所述记录链表,判断记录链表中是否有几个Item构成了一个条带,如果有,进入步骤(4),如果没有,结束数据存储过程;
(4)将构成一个条带的数据Item进行异或,得到校验信息存储到特定的服务器中,所述校验信息是按一定的规律分散的存储在各个存储服务器中的;
(5)对同一个条带的数据Item,记录条带信息即元数据信息,并按照一定的组织格式以一定的规律分散的存储到各个存储服务器中;
(6)当元数据信息存储完成后,客户端将记录链表中的同一条带的数据Item删除;
所述数据读取过程为:
当服务器正常运行时,客户端通过key找到对应的value,客户端向服务器请求数据,然后服务器返回客户端请求的数据;当其中一台服务器出现故障时,客户端获取存储在此服务器上的Item,先获取元数据信息,通过元数据信息得到同一条带的数据和对应的校验信息,通过RAID5的异或操作将此Item的数据恢复出来,返回给客户端。
2.根据权利要求1所述的实现内存数据可靠性的方法,其特征在于,所述步骤(1)具体包括下述过程:
(1-1)利用待存储数据的key计算hash,得到一个hash值;
(1-2)用上述hash值选择一个服务器,将数据发送给该服务器进行存储。
3.根据权利要求1所述的实现内存数据可靠性的方法,其特征在于,步骤(4)中,校验信息按下述方式存储:
(4-1):将同一条带的信息进行异或操作,得到校验信息;
(4-2):从有最大ID的服务器开始,按照循环加1取模的方式,按照服务器ID,从大到小的顺序存储校验信息,到最小后,再转到最大,以此循环。
4.根据权利要求1所述的实现内存数据可靠性的方法,其特征在于,步骤(5)中,按下述方式存储元数据信息:
(5-1):对于同一条带的Item,记录每个Item的key的信息,以便在数据恢复的时候通过查找的key找到处于同一条带的其他key;
(5-2)对于每一个key,将元数据信息存储到存储此Item的服务器的下一台服务器中,如果是最大的服务器,则选择第1台服务器。
5.根据权利要求1至4中任一所述的实现内存数据可靠性的方法,其特征在于,所述数据读取过程中,按下述方式进行数据恢复:
(b1)客户端通过hash算法,找到key对应的存储Item的服务器,然后对服务器的ID加1,对服务器数量取模,得到元数据信息;
(b2)客户端将同一条带的信息进行异或操作,得到校验信息的key,并向存储校验信息的服务器发送请求获取校验信息,相应的服务器返回校验信息;
(b3)通过校验信息得到条带数据和校验数据,对条带数据和校验数据进行异或计算恢复出所需数据,返回给客户端。
6.根据权利要求5所述的实现内存数据可靠性的方法,其特征在于,所述步骤(b1)包括下述过程:
步骤(b11)、客户端通过计算或者利用Item的key的hash值,得到Item所在的服务器的ID;
步骤(b12)、对得到的ID加1,获取同一条带的另一个Item的key的信息,并向此服务器发送请求得到对应的数据;
步骤(b13)、根据步骤(b12)中得到的元数据信息,再次向服务器请求同一条带的数据信息。
7.一种实现内存数据可靠性的系统,其特征在于,该系统包括设置在各客户端的数据存储模块和数据读取模块,以及至少三台存储服务器,各存储服务器均提供一定容量的内存组成RAID5,共同组成RAID5集群;
数据存储模块包括下述子模块:
第一子模块:用于在客户端存储一个数据Item时,通过客户端的hash算法选择一个服务器进行存储;
第二子模块:用于客户端将所述数据Item添加到一个记录链表中,该记录链表用于记录客户端向服务器发送的所有存储的Item;
第三子模块:用于当客户端检测到有数据Item加入记录链表,遍历所述记录链表,判断记录链表中是否有几个Item构成了一个条带,如果有,进入第四子模块,如果没有,进入第六子模块;
第四子模块:用于将构成一个条带的数据Item进行异或,得到校验信息存储到特定的服务器中,所述校验信息是按一定的规律分散的存储在各个存储服务器中的;
第五子模块:用于对同一个条带的数据Item,记录条带信息即元数据信息,并按照一定的组织格式以一定的规律分散的存储到各个存储服务器中;
第六子模块:用于当元数据信息存储完成后,客户端将记录链表中的同一条带的数据Item删除;
所述数据读取模块在当服务器正常运行时,客户端通过key找到对应的value,客户端向服务器请求数据,然后服务器返回客户端请求的数据;当其中一台服务器出现故障时,客户端获取存储在此服务器上的Item,先获取元数据信息,通过元数据信息得到同一条带的数据和对应的校验信息,通过RAID5的异或操作将此Item的数据恢复出来,返回给客户端。
8.根据权利要求7所述的系统,其特征在于,第一子模块是利用待存储数据的key计算hash,得到一个hash值,再用上述hash值选择一个服务器,将数据发送给该服务器进行存储。
9.根据权利要求7所述的系统,其特征在于,第四子模块按照下述方式进行校验信息的存储:将同一条带的信息进行异或操作,得到校验信息,再从有最大ID的服务器开始,按照循环加1取模的方式,按照服务器ID,从大到小的顺序存储校验信息,到最小后,再转到最大,以此循环;
第五子模块按下述方式存储元数据信息:对于同一条带的Item,记录每个Item的key的信息,以便在数据恢复的时候通过查找的key找到处于同一条带的其他key;对于每一个key,将元数据信息存储到存储此Item的服务器的下一台服务器中,如果是最大的服务器,则选择第1台服务器。
10.根据权利要求7、8或9所述的系统,其特征在于,所述数据读取模块按下述方式进行数据恢复:客户端通过hash算法,找到key对应的存储Item的服务器,然后对服务器的ID加1,对服务器数量取模,得到元数据信息;客户端将同一条带的信息进行异或操作,得到校验信息的key,并向存储校验信息的服务器发送请求获取校验信息,相应的服务器返回校验信息;通过校验信息得到条带数据和校验数据,对条带数据和校验数据进行异或计算恢复出所需数据,返回给客户端。
CN201610914581.9A 2016-10-20 2016-10-20 一种基于raid5的实现内存数据可靠性方法及系统 Active CN106547484B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610914581.9A CN106547484B (zh) 2016-10-20 2016-10-20 一种基于raid5的实现内存数据可靠性方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610914581.9A CN106547484B (zh) 2016-10-20 2016-10-20 一种基于raid5的实现内存数据可靠性方法及系统

Publications (2)

Publication Number Publication Date
CN106547484A true CN106547484A (zh) 2017-03-29
CN106547484B CN106547484B (zh) 2019-05-14

Family

ID=58391966

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610914581.9A Active CN106547484B (zh) 2016-10-20 2016-10-20 一种基于raid5的实现内存数据可靠性方法及系统

Country Status (1)

Country Link
CN (1) CN106547484B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107506445A (zh) * 2017-08-25 2017-12-22 郑州云海信息技术有限公司 云数据系统中数据查询的响应方法和装置
CN107832017A (zh) * 2017-11-14 2018-03-23 中国石油集团川庆钻探工程有限公司地球物理勘探公司 一种提高地震数据存储io性能的方法及装置
CN109981767A (zh) * 2019-03-20 2019-07-05 浪潮商用机器有限公司 Hana数据库访问方法、装置、系统、设备及存储介质
WO2023115935A1 (zh) * 2021-12-22 2023-06-29 华为云计算技术有限公司 数据处理方法、相关装置及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096558A (zh) * 2011-01-20 2011-06-15 杭州华三通信技术有限公司 一种数据的存储方法和装置
CN103473314A (zh) * 2013-09-11 2013-12-25 北京思特奇信息技术股份有限公司 一种基于共享内存的键值对存储方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096558A (zh) * 2011-01-20 2011-06-15 杭州华三通信技术有限公司 一种数据的存储方法和装置
CN103473314A (zh) * 2013-09-11 2013-12-25 北京思特奇信息技术股份有限公司 一种基于共享内存的键值对存储方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SHUHEI TANAKAMARU ET AL.: "Highly Reliable and Low Power SSD Using Asymmetric Coding and Stripe Bitline-Pattern Elimination Programming", 《IEEE JOURNAL OF SOLID-STATE CIRCUITS》 *
杨建梅: "浅析硬盘系统中的RAID技术", 《西部广播电视》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107506445A (zh) * 2017-08-25 2017-12-22 郑州云海信息技术有限公司 云数据系统中数据查询的响应方法和装置
CN107832017A (zh) * 2017-11-14 2018-03-23 中国石油集团川庆钻探工程有限公司地球物理勘探公司 一种提高地震数据存储io性能的方法及装置
CN109981767A (zh) * 2019-03-20 2019-07-05 浪潮商用机器有限公司 Hana数据库访问方法、装置、系统、设备及存储介质
WO2023115935A1 (zh) * 2021-12-22 2023-06-29 华为云计算技术有限公司 数据处理方法、相关装置及设备

Also Published As

Publication number Publication date
CN106547484B (zh) 2019-05-14

Similar Documents

Publication Publication Date Title
US10331641B2 (en) Hash database configuration method and apparatus
US10761758B2 (en) Data aware deduplication object storage (DADOS)
EP2735978B1 (en) Storage system and management method used for metadata of cluster file system
CN105242881B (zh) 分布式存储系统及其数据读写方法
CN103458023B (zh) 分布式闪存存储系统
CN103902623B (zh) 用于在存储系统上存取文件的方法和系统
CN104115133B (zh) 用于复合非易失性存储设备的数据迁移的方法、系统和设备
Ahn et al. ForestDB: A fast key-value storage system for variable-length string keys
US9547706B2 (en) Using colocation hints to facilitate accessing a distributed data storage system
CN107153707B (zh) 一种针对非易失内存的哈希表构建方法及系统
CN103246616B (zh) 一种长短周期访问频度的全局共享缓存替换方法
US20160350302A1 (en) Dynamically splitting a range of a node in a distributed hash table
CN107066393A (zh) 提高地址映射表中映射信息密度的方法
CN110825748A (zh) 利用差异化索引机制的高性能和易扩展的键值存储方法
CN108021717B (zh) 一种轻量级嵌入式文件系统的实现方法
CN104317736B (zh) 一种分布式文件系统多级缓存实现方法
US11061788B2 (en) Storage management method, electronic device, and computer program product
US9405643B2 (en) Multi-level lookup architecture to facilitate failure recovery
WO2014015828A1 (zh) 数据存储空间的处理方法、处理系统及数据存储服务器
CN106547484A (zh) 一种基于raid5的实现内存数据可靠性方法及系统
CN102821138A (zh) 一种适用于云存储系统的元数据分布式存储方法
CN109407985B (zh) 一种数据管理的方法以及相关装置
CN104054071A (zh) 访问存储设备的方法和存储设备
CN103501319A (zh) 一种低延迟的面向小文件的分布式存储系统
Hoque et al. Disk layout techniques for online social network data

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