【技术实现步骤摘要】
数据写入方法、数据读取方法、装置、设备、系统及介质
[0001]本申请涉及数据处理
,特别涉及数据写入方法、数据读取方法、装置、设备、系统及介质。
技术介绍
[0002]文件是数据处理的最基本单元之一。在大数据时代,日益增长的互联网规模带来了日益增长的文件存储需求,在这种情况下,单机文件系统无法应对巨量的文件存储需求,因此诞生了运行在多个存储节点构成的集群上的分布式文件系统。
[0003]相关技术中,分布式文件系统经常使用纠删码技术来存储数据。通常情况下,在数据写入时,由客户端的中央处理器(central processing unit,CPU)对原始数据进行纠删码编码,得到原始数据块和校验数据块,并将得到的原始数据块和校验数据块写入存储节点中;在数据读取时,由客户端的CPU从存储节点中读取原始数据块和校验数据块,并对读取的原始数据块和校验数据块进行纠删码解码,得到原始数据。由于客户端是使用CPU进行纠删码编码和纠删码解码,会增加CPU的开销,使得客户端的CPU成为分布式文件系统的系统瓶颈,影响数据处理的效率。
技术实现思路
[0004]本申请提出一种数据写入方法、数据读取方法、装置、设备、系统及介质,用于减少中央处理器消耗,提升数据处理的效率。
[0005]第一方面,提供了一种数据写入方法,该方法包括:第一客户端的网络控制器获取待写入的原始数据;所述网络控制器对所述原始数据进行纠删码编码,得到多个目标数据块;所述网络控制器将所述多个目标数据块中第三数量的目标数据块写入存储节点, ...
【技术保护点】
【技术特征摘要】
1.一种数据写入方法,其特征在于,所述方法包括:第一客户端的网络控制器获取待写入的原始数据;所述网络控制器对所述原始数据进行纠删码编码,得到多个目标数据块;所述网络控制器将所述多个目标数据块中第三数量的目标数据块写入存储节点,所述多个目标数据块包括第一数量的原始数据块和第二数量的校验数据块,所述目标数据块的两端包含相同的版本信息,所述第三数量大于所述第一数量。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述网络控制器将第一数据块成功写入所述存储节点时生成写入成功指令,所述写入成功指令用于所述第一客户端的中央处理器确定所述第一数据块的写入结果,所述第一数据块为所述多个目标数据块中的任意一个目标数据块。3.根据权利要求1或2所述的方法,其特征在于,所述网络控制器对所述原始数据进行纠删码编码,得到多个目标数据块,包括:所述网络控制器根据所述原始数据和所述原始数据对应的版本信息,得到所述第一数量的原始数据块,所述原始数据块的两端分别包含所述原始数据对应的版本信息;所述网络控制器对所述原始数据进行纠删码编码,得到校验数据;所述网络控制器根据所述校验数据和所述校验数据对应的版本信息,得到所述第二数量的校验数据块,所述校验数据块的两端分别包含所述校验数据对应的版本信息。4.根据权利要求1
‑
3任一所述的方法,其特征在于,所述第一客户端持有写锁权限,所述写锁权限是向所述存储节点写入目标数据块的权限,所述第一客户端的网络控制器获取待写入的原始数据,包括:所述网络控制器获取其他客户端发送的待写入的原始数据,所述其他客户端是未持有所述写锁权限的客户端。5.根据权利要求1
‑
4任一所述的方法,其特征在于,所述网络控制器对所述原始数据进行纠删码编码,得到多个目标数据块,包括:所述网络控制器接收所述第一客户端的中央处理器发送的针对所述原始数据的编码指令;所述网络控制器响应于所述编码指令,对所述原始数据进行纠删码编码,得到多个目标数据块。6.一种数据读取方法,其特征在于,所述方法包括:第二客户端的网络控制器从存储节点中读取第一数量个目标数据块,所述存储节点中存储了多个目标数据块中第三数量的目标数据块,所述多个目标数据块包括第一数量的原始数据块和第二数量的校验数据块,所述目标数据块的两端包含相同的版本信息,所述第三数量大于所述第一数量;所述网络控制器对所述第一数量个目标数据块进行纠删码解码,得到原始数据。7.根据权利要求6所述的方法,其特征在于,所述第二客户端的网络控制器从存储节点中读取第一数量个目标数据块,包括:所述网络控制器向所述存储节点发送针对所述第三数量的目标数据块中第四数量个目标数据块的读取指令,所述第四数量大于所述第一数量,且所述第四数量小于或者等于所述第三数量;
所述网络控制器接收所述第四数量个目标数据块中前第一数量的目标数据块。8.根据权利要求6或7所述的方法,其特征在于,所述第二客户端的网络控制器从存储节点中读取第一数量个目标数据块,包括:响应于所述第二客户端的缓存区域中存储有第二数据块的版本信息,所述网络控制器从所述缓存区域中读取所述第二数据块,所述缓存区域中存储有所述网络控制器从所述存储节点中历史读取的目标数据块,所述第二数据块为所述第一数量个目标数据块中的任意一个目标数据块;响应于所述缓存区域中未存储有所述第二数据块的版本信息,所述网络控制器从所述存储节点中读取所述第二数据块。9.根据权利要求6至8任一所述的方法,其特征在于,所述方法还包括:所述网络控制器将所述原始数据和所述第一数量个目标数据块存储至所述缓存区域中。10.根据权利要求6至9任一所述的方法,其特征在于,所述网络控制器对所述第一数量个目标数据块进行纠删码解码,得到原始数据,包括:所述网络控制器获取所述第二客户端的中央处理器发送的基于解码信息的解码指令;所述网络控制器响应于所述解码指令,基于所述解码信息对所述第一数量个目标数据块进行纠删码解码,得到原始数据。11.一种数据写入装置,其特征在于,所述数据写入装置应用于网络控制器,所述装置包括:获取模块,用于获取待写入的原始数据;编码模块,用于对所述原始数据进行纠删码编码,得到多个目标数据块;写入模块,用于将所述多个目标数据块中第三数...
【专利技术属性】
技术研发人员:舒继武,陆游游,高健,谈晓东,崔文林,
申请(专利权)人:清华大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。