CN108268218B - 一种基于网络编码的变长数据段的写入方法及读取方法 - Google Patents

一种基于网络编码的变长数据段的写入方法及读取方法 Download PDF

Info

Publication number
CN108268218B
CN108268218B CN201810023778.2A CN201810023778A CN108268218B CN 108268218 B CN108268218 B CN 108268218B CN 201810023778 A CN201810023778 A CN 201810023778A CN 108268218 B CN108268218 B CN 108268218B
Authority
CN
China
Prior art keywords
data
data segment
check
reading
segment
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
CN201810023778.2A
Other languages
English (en)
Other versions
CN108268218A (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 Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech Information 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 Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN201810023778.2A priority Critical patent/CN108268218B/zh
Publication of CN108268218A publication Critical patent/CN108268218A/zh
Application granted granted Critical
Publication of CN108268218B publication Critical patent/CN108268218B/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/0608Saving storage space on storage systems
    • 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/18File system types
    • G06F16/182Distributed file 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
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

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)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于网络编码的变长数据段的写入方法及读取方法,其包括:获取待写入数据段,并分析待写入数据段的写入特征量;判断所述待写入数据段是否属于变长数据段;若属于,则同时将待写入数据段分别进行拆分和复制处理,最后写入到k个数据节点和m个校验节点中。还涉及一种读取方法,其包括:获取读取数据的请求;再分析待读取数据段的读取特征量;接着判断待读取数据段中最后一个数据段是否属于变长数据段;若属于,则发送读取数据的请求给校验节点,并读取待读取数据段。通过本发明对于变长数据段的读取优先从校验节点上读取全量数据,减少数据计算和网络交互次数,提高了数据读取的效率。

Description

一种基于网络编码的变长数据段的写入方法及读取方法
技术领域
本发明属于网络编码领域,尤其涉及一种基于网络编码的变长数据段的写入方法及读取方法。
背景技术
传统的分布式文件系统中对于数据更新功能,很多分布式文件系统不支持数据的随机更新,这影响分布式文件系统的功能的完备性,降低分布式文件系统的应用功能。对于非定长数据块的操作,有的是将不满设定长度的数据块填充为设定标准数据块长度后再进行编码存储,或对不定长的数据块将更新数据和原始数据合并后对整块编码再将编码后的数据进行重新写入存储。
对于传统分布式文件系统对非定长数据块的更新存储方式或增加了磁盘占用空间或加大了传输带宽,从而对存储效率、更新性能都有影响。
发明内容
本发明所要解决的技术问题是:传统分布式文件系统对非定长数据块的更新存储方式或增加了磁盘占用空间或加大了传输带宽,从而对存储效率、更新性能都有影响。
为解决上面的技术问题,本发明提供了一种基于网络编码的变长数据段的写入方法,该写入方法包括:
获取待写入数据段,并分析所述待写入数据段的写入特征量;
根据所述写入特征量判断所述待写入数据段是否属于变长数据段;
若属于,则同时将所述待写入数据段分别进行拆分和复制处理,分别得到k个原始数据块和m个校验数据块;
将所述k个原始数据块和所述m个校验数据块分别对应地写入到k个数据节点和m个校验节点中。
本发明的有益效果:通过上述的方法,将待写入数据段分成两种存储方式,一种是将待写入数据段拆分成k个原始数据块,一种是将待写入数据段复制处理成m个校验数据块,再分别写入到k个数据节点和m个校验节点中,这样对存储在数据节点和校验节点上的数据做不同处理,降低了存储空间,降低传输带宽,同时还降低了代码实现复杂度和计算量,达到提升空间存储率。
进一步地,该写入方法还包括:
在所述待写入数据段写入完后,且需要追加写入新数据段时,判断所述新数据段与所述待写入数据段之和的数据段是否为变长数据段;
若是,则将所述新数据段拆分成k个新的原始数据块,同时将所述新数据段复制成m个新的校验数据块;
将k个所述新的原始数据块和m个所述新的校验数据块分别对应地写入到k个数据节点和m个校验节点中。
上述进一步地有益效果:在追加过程中若该变长数据段达到指定数据段的长度则对该数据段做一次合并,并按照定长数据段的常规处理方法进行处理,使得变长数据段最终和定长数据段达到一致,保证系统中数据处理的一致性,而属于变长数据段时,则进行拆分和复制处理,拆分成k个新的原始数据块和复制成m个新的校验数据块,再对存储在数据节点和校验节点上的数据做不同处理,降低了存储空间,同时降低计算复杂度和代码实现复杂度,达到提升存储效率和数据写入性能的目的。
进一步地,所述将k个所述新的原始数据块和m个所述新的校验数据块分别对应地写入到k个数据节点和m个校验节点中,具体包括:
将k个所述新的原始数据块对应地写入到之前的k个原始校验数据块后面;
将m个所述新的校验数据块对应地写入到之前的m个校验数据块后面;
其中,一个新的原始数据块对应一个数据节点,一个数据节点之前存储一份原始数据块,一个所述新的原始数据块写到之前存储的一个所述原始数据块后面;
一个新的校验数据块对应一个校验节点,一个校验节点之前存储一份校验数据块,一个所述新的校验数据块写到之前存储的一个所述校验数据块后面。
进一步地,所述写入特征量包括:所述待写入数据段的写入长度。
进一步地,该写入方法还包括:
获取更新数据段,同时读取已写入的数据段;
将所述更新数据段与所述已写入的数据段组合成一份全量数据段,并将所述全量数据段拆分成k个全量数据块,同时将所述更新数据段复制成m个全量更新校验数据块;
将k个所述全量数据块和m个全量更新校验数据块分别对应地写入到k个数据节点和m个校验节点中。
进一步地,所述k个所述全量数据块和m个全量更新校验数据块分别对应地写入到k个数据节点和m个校验节点中具体包括:
将k个所述全量数据块写入到所述k个数据节点中,以替换所述k个数据节点中已存储的k个所述原始数据块;
将m个所述全量更新校验数据块直接更新所述m个校验节点中已存储数据段中的部分数据段,得到所述全量数据段。
本发明还涉及一种基于网络编码的变长数据段的读取方法,该读取方法包括:
获取读取数据的请求;
根据所述读取数据的请求,分析待读取数据段的读取特征量;
根据所述读取特征量,判断所述待读取数据段中最后一个数据段是否属于变长数据段;
若属于,则发送所述读取数据的请求给校验节点,同时从所述校验节点中读取所述待读取数据段。
本发明的有益效果:通过上述的方法,对于变长数据段的读取优先从校验节点上读取全量数据,减少数据计算和网络交互次数,提高了数据读取的效率。
进一步地,所述读取特征量包括:所述待读取数据段的读取长度。
进一步地,所述则发送数据读取请求给校验节点,同时从所述校验节点中读取所述待读取数据段具体包括:
发送所述数据读取请求给第一个所述校验节点,同时从第一个所述校验节点中读取所述待读取数据段,若读取失败,则继续向其他的所述校验节点发送所述数据读取请求,直到有一个所述校验节点读取成功。
进一步地,该读取方法还包括:当所有的校验节点均读取失败后,则发送所述数据读取的请求给所有的原始数据节点,当所有的原始数据节点均读取成功,则读取所述待读取数据段成功,若存在任一个原始数据节点读取失败,则读取所述待读取数据段失败。
附图说明
图1为本发明的一种基于网络编码的变长数据段的写入方法的流程图;
图2为本发明的一种基于网络编码的变长数据段的读取方法的流程图;
图3为本发明的变长数据段写入的示意图;
图4为本发明的追加写入数据段的示意图;
图5为本发明的更新数据段的示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
在本发明中其具体系统框架是将APP为应用模块,NCFS对基于网络编码实现的分布式文件系统对外提供的文件操作接口模块。OSD客户端接收NCFS模块的数据请求进行segment组装,数据写入、读取与更新,再将数据写入请求、读取请求、更新请求发送到OSD服务集群,OSD服务集群根据实际请求对数据进行读取、写入、更新等操作,并将结果返回给OSD客户端。
如图1所示,本发明实施例1还涉及一种基于网络编码的变长数据段的写入方法,该写入方法包括:
A1,获取待写入数据段,并分析所述待写入数据段的写入特征量;
A2,根据所述写入特征量判断所述待写入数据段是否属于变长数据段;
A3,若属于,则同时将所述待写入数据段分别进行拆分和复制处理,分别得到k个原始数据块和m个校验数据块;
A4,将所述k个原始数据块和所述m个校验数据块分别对应地写入到k个数据节点和m个校验节点中。
需要说明的是,在本实施例1中是OSD客户端对变长数据段segment处理在变长数据段写入时,对变长数据段进行拆分为k个原始数据块,对变长数据段复制出m个校验数据块,将k个原始数据块存储到对应的数据节点上,将m个校验数据块存储到对应的校验节点上。k个原始节点存储k个原始数据块,K个原始数据块合并后为该变长数据段的一份全量数据,m个校验节点上存储m个校验数据块,m个校验数据块为m份变长数据段的全量数据,如图3所示,其中segment表示数据段,B表示原始数据块(B1表示第一个原始数据块,Bk表示第K原始数据块),pB表示校验数据块(pB1…pBm为变长segment的复制),node表示原始节点(node1表示B1存储的第一个原始节点,nodek表示Bk存储的第k个原始节点),pnode表示校验节点(pnode1表示pB1存储的第一个校验节点,pnodem表示pBm存储的第m个校验节点)。
获取segment拆分的k个原始数据块、segment复制的m个校验数据块,OSD客户端将k个原始数据块和m个校验数据块发送到OSD服务集群的对应数据节点和校验节点上,OSD服务节点将数据块存储到自己节点上。OSD服务集群将各个OSD服务节点上数据块的存储结果返回给OSD客户端,OSD客户端根据所有OSD服务节点的存储结果判断该变长segment数据段的存储结果是成功还是失败。OSD客户端将数据写入结果返回给NCSF,应用获取数据写入结果。
可选地,在另一实施例2中该写入方法还包括:
在所述待写入数据段写入完后,且需要追加写入新数据段时,判断所述新数据段与所述待写入数据段之和的数据段是否为变长数据段;
若是,则将所述新数据段拆分成k个新的原始数据块,同时将所述新数据段复制成m个新的校验数据块;
将k个所述新的原始数据块和m个所述新的校验数据块分别对应地写入到k个数据节点和m个校验节点中。
需要说明的是,在本实施例2中假设追加的数据段是△segment。OSD客户端对△segment进行处理,获取△segment拆分的k个原始数据块和△segment复制的m个校验块,OSD客户端将△segment的k个原始数据块和m个校验块发送到OSD服务集群的对应节点上,OSD服务节点上将追加的对应数据块追加到对应的原始数据块上和校验数据块上,最终OSD服务节点上对数据追加写入结果。OSD服务节点将数据写入结果返回给OSD客户端,OSD客户端根据所有OSD服务节点的返回结果判断△segment是否追加写入成功,继而将数据写入结果通过NCSF返回给应用。
可选地,在另一实施例3中所述将k个所述新的原始数据块和m个所述新的校验数据块分别对应地写入到k个数据节点和m个校验节点中,具体包括:
将k个所述新的原始数据块对应地写入到之前的k个原始校验数据块后面;
将m个所述新的校验数据块对应地写入到之前的m个校验数据块后面;
其中,一个新的原始数据块对应一个数据节点,一个数据节点之前存储一份原始数据块,一个所述新的原始数据块写到之前存储的一个所述原始数据块后面;
一个新的校验数据块对应一个校验节点,一个校验节点之前存储一份校验数据块,一个所述新的校验数据块写到之前存储的一个所述校验数据块后面。
需要说明的是,在本实施例3中变长数据段在数据段追加写入且追加的数据与之前存在的数据之和不满足定长数据段时(即为变长数据段时),对追加的数据段进行拆分为k个原始数据块,对追加的数据复制出m个校验数据块,将k个原始数据块存储到对应的数据节点上,且写入时,需要追加写入的数据段需要写在对应的老数据块后面,而不是写成一个独立的数据块,将m个校验数据块存储到对应的校验节点上,且需要追加的m个校验数据块在对应的老校验数据块后面,而不是写成一个独立的校验数据块。如图4所示,k个原始节点存储由追加的数据拆分出的k个原始数据块,m个校验节点上存储m个校验数据块,m个校验数据块为m份追加数据的全量数据,其中△segment为追加写入的数据段,△B1-△Bk为△segment拆分出的k个原始数据块,△pB1-△pBm为△segment的m个复制。即追加数据后,m个校验节点上都存储追加后变长数据段的全量数据,k个节点上存储一份全量数据。
可选地,在另一实施例4中所述写入特征量包括:所述待写入数据段的写入长度。
需要说明的是,在本实施例4中是为了解析上述提及到的写入特征量,该写入特征量包括:待写入数据段的写入长度,可以理解的是在了解到待写入数据段的写入长度,可以需要确认到将待写入数据段写入到的文件的当前总大小、待写入数据段写入文件的位置(即针对文件头的偏移量。
可选地,在另一实施例5中该写入方法还包括:
获取更新数据段,同时读取已存储的数据段;
将所述更新数据段与所述已存储的数据段组合成一份全量数据段,并将所述全量数据段拆分成k个全量数据块,同时将所述更新数据段复制成m个全量更新校验数据块;
将k个所述全量数据块和m个全量更新校验数据块分别对应地写入k个数据节点和m个校验节点中。
需要说明的是,本实施例5是在上述实施例3或者实施例4的基础上进行的,采用上述变长数据段的读取方法读取oldsegment(已存储的数据段),OSD客户端读取到oldsegment后将oldsegment与upsegment(更新数据段)进行处理,从而OSD客户端获取更新后的全量数据段newsegment,OSD客户端将newsegment拆分为K个原始数据块,OSD客户端将newsegment拆分的k个原始数据块发送到OSD服务集群的k个原始节点上,k个OSD服务节点上将newsegment拆分的k个原始数据块替换掉oldsegment对应的k个原始数据块。OSD客户端将upsegment复制出m个更新数据段对应的校验数据块,并将m个更新校验块发送到OSD服务集群中的m个校验节点上,m个OSD服务校验节点根据upsegment对oldsegment进行数据更新,更新后m个OSD服务检验节点上存储的是全量的newsegment的数据,OSD客户端根据所有OSD服务节点的数据存储处理结果判断数据跟新写入是否成功,将结果通过NCSF返回给应用。
可选地,在另一实施例6中所述k个所述全量数据块和m个全量更新校验数据块分别对应地k个数据节点和m个校验节点中具体包括:
将k个所述全量数据块写入到所述k个数据节点中,以替换所述k个数据节点中已存储的k个所述原始数据块;
将m个所述全量更新校验数据块直接更新所述m个校验节点中已存储数据段中的部分数据段,得到所述全量数据段。
需要说明的是,在本实施例6中在对变长数据段进行更新时候,需要对存在的老数据和要更新的数据进行一次合并。如图5所示,其过程如下:先采用上述变长数据段读取的方法获读取更新之前的全量老数据段(oldsegment),将更新的数据段(upsegment)与更新之前的oldsegment中对应的数据进行合并,即用更新的数据替换oldsegment中对应位置的老数据从而获取到更新后的全量新数据段(newsegment),若newsegment未满标准数据段的长度,则采用变长数据段更新方法:将newsegment拆分成k个原始数据块,k个原始数据块发送到原始节点上进行存储,之前原始节点上存储的该数据段相关数据删除。将更新的数据upsegment发送到m个校验节点上,对校验节点上的全量数据进行更新,更新后的数据为全量的newsegment。
如图2所示,下面是本发明实施例7中提供的一种基于网络编码的变长数据段的读取方法,该读取方法包括:
S1,获取读取数据的请求;
S2,根据所述读取数据的请求,分析待读取数据段的读取特征量;
S3,根据所述读取特征量,判断所述待读取数据段中最后一个数据段是否属于变长数据段;
S4,若属于,则发送所述读取数据的请求给校验节点,同时从所述校验节点中读取所述待读取数据段。
需要说明的是,在本实施例7中是实现数据读取的方式,应用先通过NCSF提供的打开文件接口打开要读取的文件,然后使用读取数据接口读取数据,NCSF端根据应用的请求将要读取的文件总大小、读取的位置、要读取的数据的长度传给OSD客户端。
OSD客户端根据文件总大小、读取的位置以及一个标准数据段的长度来判定要读取的数据是处于标准长度的数据段内还是非定长数据段内,只有此文件的最后一个数据段是非定长的数据段,文件中的其它的数据段都是标准定长的数据段。本发明实施例1中假设OSD客户端判断NCSF要读取的数据是文件中的最后一个数据段,且该数据段不满标准长度的数据段,即为一个变长的数据段,则发送所述读取数据的请求给校验节点,同时从所述校验节点中读取所述待读取数据段。
可选地,在另一实施例8中所述读取特征量包括:所述待读取数据段的读取长度。
需要说明的是,在本实施例8中OSD客户端根据文件总大小、读取的位置以及一个标准数据段的长度来判定要读取的数据是处于标准长度的数据段内还是非定长数据段内,可以理解的是是在了解到待读取数据段的读取长度,可以需要确认到将要读取的文件的当前总大小、待读取数据段在文件中的位置(即针对文件头的偏移量)。
可选地,在另一实施例9中所述则发送数据读取请求给校验节点,同时从所述校验节点中读取所述待读取数据段具体包括:
发送所述数据读取请求给第一个所述校验节点,同时从第一个所述校验节点中读取所述待读取数据段,若读取失败,则继续向其他的所述校验节点发送所述数据读取请求,直到有一个所述校验节点读取成功。
需要说明的是,在本实施例9中OSD客户端先向OSD服务集群中的第一个校验节点发送读取数据请求,若读取成功OSD客户端则直接将从校验节点上的数据读取的数据段中取出NCSF所要读取的数据返回给应用。若第一个校验节点上读取数据失败,则继续向其它校验节点发送读取数据请求,直到有一个校验节点读取成功,则结束。
可选地,在另一实施例10中该读取方法还包括:当所有的校验节点均读取失败后,则发送所述数据读取的请求给所有的原始数据节点,当所有的原始数据节点均读取成功,则读取所述待读取数据段成功,若存在任一个原始数据节点读取失败,则读取所述待读取数据段失败。
需要说明的是,在本实施例10中在上述m个校验节点上的数据均读取失败后,OSD客户端则向OSD服务集群中的k个原始数据节点发送读取数据请求,若k个原始数据节点中有一个节点上数据读取失败,则整个数据过程失败,若k个原始数据节点上的原始数据块均读取成功,OSD客户端将从k个原始数据块上读取的数据k个数据块组装成一个全量的变长数据段,然后从变长数据段中取出应用所需读取的数据返回给NCSF,从而完成整个变长数据段的读取过程。
在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种基于网络编码的变长数据段的写入方法,其特征在于,该写入方法包括:
获取待写入数据段,并分析所述待写入数据段的写入特征量;
根据所述写入特征量判断所述待写入数据段是否属于变长数据段;
若属于,则同时将所述待写入数据段分别进行拆分和复制处理,分别得到k个原始数据块和m个校验数据块;
将所述k个原始数据块和所述m个校验数据块分别对应地写入到k个数据节点和m个校验节点中;
该写入方法还包括:
在所述待写入数据段写入完后,且需要追加写入新数据段时,判断所述新数据段与所述待写入数据段之和的数据段是否为变长数据段;
若是,则将所述新数据段拆分成k个新的原始数据块,同时将所述新数据段复制成m个新的校验数据块;
将k个所述新的原始数据块和m个所述新的校验数据块分别对应地写入到k个数据节点和m个校验节点中;
所述写入特征量包括:所述待写入数据段的写入长度;
该写入方法还包括:
获取更新数据段,同时读取已写入的数据段;
将所述更新数据段与所述已写入的数据段组合成一份全量数据段,并将所述全量数据段拆分成k个全量数据块,同时将所述更新数据段复制成m个全量更新校验数据块;
将k个所述全量数据块和m个全量更新校验数据块分别对应地写入到k个数据节点和m个校验节点中。
2.根据权利要求1所述的写入方法,其特征在于,所述将k个所述新的原始数据块和m个所述新的校验数据块分别对应地写入到k个数据节点和m个校验节点中,具体包括:
将k个所述新的原始数据块对应地写入到之前的k个原始校验数据块后面;
将m个所述新的校验数据块对应地写入到之前的m个校验数据块后面;
其中,一个新的原始数据块对应一个数据节点,一个数据节点之前存储一份原始数据块,一个所述新的原始数据块写到之前存储的一个所述原始数据块后面;
一个新的校验数据块对应一个校验节点,一个校验节点之前存储一份校验数据块,一个所述新的校验数据块写到之前存储的一个所述校验数据块后面。
3.根据权利要求1所述的写入方法,其特征在于,所述k个所述全量数据块和m个全量更新校验数据块分别对应地写入到k个数据节点和m个校验节点中具体包括:
将k个所述全量数据块写入到所述k个数据节点中,以替换所述k个数据节点中已存储的k个所述原始数据块;
将m个所述全量更新校验数据块直接更新所述m个校验节点中已存储数据段中的部分数据段,得到所述全量数据段。
4.一种基于网络编码的变长数据段的读取方法,其特征在于,该读取方法包括:
获取读取数据的请求;
根据所述读取数据的请求,分析待读取数据段的读取特征量;
根据所述读取特征量,判断所述待读取数据段中最后一个数据段是否属于变长数据段;
若属于,则发送所述读取数据的请求给校验节点,同时从所述校验节点中读取所述待读取数据段;
所述则发送数据读取请求给校验节点,同时从所述校验节点中读取所述待读取数据段具体包括:
发送所述数据读取请求给第一个所述校验节点,同时从第一个所述校验节点中读取所述待读取数据段,若读取失败,则继续向其他的所述校验节点发送所述数据读取请求,直到有一个所述校验节点读取成功。
5.根据权利要求4所述的读取方法,其特征在于,所述读取特征量包括:所述待读取数据段的读取长度。
6.根据权利要求4所述的读取方法,其特征在于,该读取方法还包括:当所有的校验节点均读取失败后,则发送所述数据读取的请求给所有的原始数据节点,当所有的原始数据节点均读取成功,则读取所述待读取数据段成功,若存在任一个原始数据节点读取失败,则读取所述待读取数据段失败。
CN201810023778.2A 2018-01-10 2018-01-10 一种基于网络编码的变长数据段的写入方法及读取方法 Active CN108268218B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810023778.2A CN108268218B (zh) 2018-01-10 2018-01-10 一种基于网络编码的变长数据段的写入方法及读取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810023778.2A CN108268218B (zh) 2018-01-10 2018-01-10 一种基于网络编码的变长数据段的写入方法及读取方法

Publications (2)

Publication Number Publication Date
CN108268218A CN108268218A (zh) 2018-07-10
CN108268218B true CN108268218B (zh) 2021-02-02

Family

ID=62773403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810023778.2A Active CN108268218B (zh) 2018-01-10 2018-01-10 一种基于网络编码的变长数据段的写入方法及读取方法

Country Status (1)

Country Link
CN (1) CN108268218B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831297B (zh) * 2019-04-17 2021-10-26 中兴通讯股份有限公司 零差分升级方法及装置
GB2585260B (en) 2019-12-27 2021-08-04 Imagination Tech Ltd Methods and systems for storing variable length data blocks in memory
CN111858126B (zh) * 2020-07-29 2022-07-22 苏州浪潮智能科技有限公司 一种基于k+m纠删集群的数据处理方法及装置
CN113515531B (zh) * 2021-05-08 2022-12-02 重庆紫光华山智安科技有限公司 数据访问方法、装置、客户端及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021858A (zh) * 2007-01-29 2007-08-22 华为技术有限公司 一种数据存储方法及装置及数据查找、添加、删除方法
CN101231653A (zh) * 2008-01-24 2008-07-30 创新科存储技术(深圳)有限公司 数据块拆分方法及其装置
CN102169460A (zh) * 2010-02-26 2011-08-31 航天信息股份有限公司 变长数据管理方法及装置
CN103793291A (zh) * 2012-11-01 2014-05-14 华为技术有限公司 分布式数据复制方法和装置
CN103902228A (zh) * 2012-12-27 2014-07-02 航天信息股份有限公司 一种变长数据存取方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6970969B2 (en) * 2002-08-29 2005-11-29 Micron Technology, Inc. Multiple segment data object management
US8949496B2 (en) * 2011-03-25 2015-02-03 Adc Telecommunications, Inc. Double-buffer insertion count stored in a device attached to a physical layer medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021858A (zh) * 2007-01-29 2007-08-22 华为技术有限公司 一种数据存储方法及装置及数据查找、添加、删除方法
CN101231653A (zh) * 2008-01-24 2008-07-30 创新科存储技术(深圳)有限公司 数据块拆分方法及其装置
CN102169460A (zh) * 2010-02-26 2011-08-31 航天信息股份有限公司 变长数据管理方法及装置
CN103793291A (zh) * 2012-11-01 2014-05-14 华为技术有限公司 分布式数据复制方法和装置
CN103902228A (zh) * 2012-12-27 2014-07-02 航天信息股份有限公司 一种变长数据存取方法

Also Published As

Publication number Publication date
CN108268218A (zh) 2018-07-10

Similar Documents

Publication Publication Date Title
CN108268218B (zh) 一种基于网络编码的变长数据段的写入方法及读取方法
CN106776130B (zh) 一种日志恢复方法、存储装置和存储节点
CN108572793B (zh) 数据写入和数据恢复方法、装置、电子设备及存储介质
US20190129976A1 (en) Apparatus for controlling synchronization of metadata on network and method for the same
US10572177B2 (en) System and method for synchronizing history data for compression and decompression
CN110647514B (zh) 一种元数据更新方法、装置及元数据服务器
US20190227710A1 (en) Incremental data restoration method and apparatus
CN113515531A (zh) 数据访问方法、装置、客户端及存储介质
CN112527562A (zh) 分布式存储系统的数据备份方法、装置和计算机设备
JP2019204527A (ja) 記憶機器のデータ位置の処理方法及び処理装置、コンピュータ機器並びにコンピュータ読み取り可能な記憶媒体
CN111291062B (zh) 数据同步写入方法、装置、计算机设备及存储介质
CN113467719B (zh) 数据写入方法及装置
CN105915595B (zh) 一种集群存储系统存取数据的方法以及集群存储系统
CN114237971A (zh) 一种基于分布式存储系统的纠删码编码布局方法及系统
CN113190384A (zh) 基于纠删码的数据恢复控制方法、装置、设备及介质
CN111400248B (zh) 写数据、恢复数据的方法及文件系统
CN111966531A (zh) 数据快照方法、装置、计算机设备及存储介质
CN113986148B (zh) 一种数据读取方法、装置及相关设备
CN115834604A (zh) 数据发送端、接收端、同步方法及计算机程序产品
CN111752892A (zh) 分布式文件系统及其实现方法、管理系统、设备及介质
CN115686382A (zh) 一种数据存储及读取方法
CN113535482B (zh) 云备份链数据备份方法及装置、设备、可读介质
CN112231150B (zh) 数据库集群中故障数据库恢复方法和装置
CN112783688A (zh) 一种基于可用分区级的纠删码数据恢复方法及装置
US20130318040A1 (en) Data replication apparatus and method using hierarchical organization of data servers

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