当前位置: 首页 > 专利查询>清华大学专利>正文

数据写入方法、数据读取方法、装置、设备、系统及介质制造方法及图纸

技术编号:36444938 阅读:19 留言:0更新日期:2023-01-25 22:38
本申请公开了数据写入方法、数据读取方法、装置、设备、系统及介质,由网络控制器对原始数据进行纠删码编码,并将得到的多个目标数据块中第三数量的目标数据块写入存储节点,由网络控制器从存储节点中读取第三数量的目标数据块中第一数量个目标数据块,并对读取的目标数据块进行解码,其中,多个目标数据块包括第一数量的原始数据块和第二数量的校验数据块,目标数据块的两端包含相同的版本信息,第三数量大于第一数量。本申请能够将原本属于中央处理器的计算开销卸载到网络控制器上,减少中央处理器消耗,提升数据处理的效率,通过目标数据块两端包含的版本信息,来保证数据的有效性。效性。效性。

【技术实现步骤摘要】
数据写入方法、数据读取方法、装置、设备、系统及介质


[0001]本申请涉及数据处理
,特别涉及数据写入方法、数据读取方法、装置、设备、系统及介质。

技术介绍

[0002]文件是数据处理的最基本单元之一。在大数据时代,日益增长的互联网规模带来了日益增长的文件存储需求,在这种情况下,单机文件系统无法应对巨量的文件存储需求,因此诞生了运行在多个存储节点构成的集群上的分布式文件系统。
[0003]相关技术中,分布式文件系统经常使用纠删码技术来存储数据。通常情况下,在数据写入时,由客户端的中央处理器(central processing unit,CPU)对原始数据进行纠删码编码,得到原始数据块和校验数据块,并将得到的原始数据块和校验数据块写入存储节点中;在数据读取时,由客户端的CPU从存储节点中读取原始数据块和校验数据块,并对读取的原始数据块和校验数据块进行纠删码解码,得到原始数据。由于客户端是使用CPU进行纠删码编码和纠删码解码,会增加CPU的开销,使得客户端的CPU成为分布式文件系统的系统瓶颈,影响数据处理的效率。

技术实现思路

[0004]本申请提出一种数据写入方法、数据读取方法、装置、设备、系统及介质,用于减少中央处理器消耗,提升数据处理的效率。
[0005]第一方面,提供了一种数据写入方法,该方法包括:第一客户端的网络控制器获取待写入的原始数据;所述网络控制器对所述原始数据进行纠删码编码,得到多个目标数据块;所述网络控制器将所述多个目标数据块中第三数量的目标数据块写入存储节点,所述多个目标数据块包括第一数量的原始数据块和第二数量的校验数据块,所述目标数据块的两端包含相同的版本信息,所述第三数量大于所述第一数量。
[0006]该技术方案提供的数据写入方法,通过网络控制器对原始数据进行纠删码编码,并将得到的多个目标数据块中第三数量的目标数据块写入存储节点实现了将原本属于CPU的计算开销卸载到网络控制器上,减少CPU消耗,提升数据处理的效率,且目标数据块的两端包含相同的版本信息,保证了数据的有效性。
[0007]在一种可能的实现方式中,所述方法还包括:所述网络控制器将第一数据块成功写入所述存储节点时生成写入成功指令,所述写入成功指令用于所述第一客户端的中央处理器确定所述第一数据块的写入结果,所述第一数据块为所述多个目标数据块中的任意一个目标数据块。通过写入成功指令告知CPU第一数据块的写入结果,以确保第一数据块成功写入存储节点。
[0008]在一种可能的实现方式中,所述网络控制器对所述原始数据进行纠删码编码,得到多个目标数据块,包括:所述网络控制器根据所述原始数据和所述原始数据对应的版本信息,得到所述第一数量的原始数据块,所述原始数据块的两端分别包含所述原始数据对
应的版本信息;所述网络控制器对所述原始数据进行纠删码编码,得到校验数据;所述网络控制器根据所述校验数据和所述校验数据对应的版本信息,得到所述第二数量的校验数据块,所述校验数据块的两端分别包含所述校验数据对应的版本信息。由于原始数据块的两端包含原始数据对应的版本信息,校验数据块的两端包含校验数据对应的版本信息,保证了数据块的两端包含相同的版本信息,从而保证了数据的有效性。
[0009]在一种可能的实现方式中,所述第一客户端持有写锁权限,所述写锁权限是向所述存储节点写入目标数据块的权限,所述第一客户端的网络控制器获取待写入的原始数据,包括:所述网络控制器获取其他客户端发送的待写入的原始数据,所述其他客户端是未持有所述写锁权限的客户端。由持有写锁权限的客户端的网络控制器获取未持有写锁权限的客户端中的原始数据,以便于网络控制器将该原始数据写入存储节点,降低写锁权限的转移频率,提高数据写入效率。
[0010]在一种可能的实现方式中,所述网络控制器对所述原始数据进行纠删码编码,得到多个目标数据块,包括:所述网络控制器接收所述第一客户端的中央处理器发送的针对所述原始数据的编码指令;所述网络控制器响应于所述编码指令,对所述原始数据进行纠删码编码,得到多个目标数据块。
[0011]第二方面,提供了一种数据读取方法,所述方法包括:第二客户端的网络控制器从存储节点中读取第一数量个目标数据块,所述存储节点中存储了多个目标数据块中第三数量的目标数据块,所述多个目标数据块包括第一数量的原始数据块和第二数量的校验数据块,所述目标数据块的两端包含相同的版本信息,所述第三数量大于所述第一数量;所述网络控制器对所述第一数量个目标数据块进行纠删码解码,得到原始数据。
[0012]该技术方案提供的数据读取方法,通过网络控制器读取第三数量的目标数据块中第一数量个目标数据块,并对读取的目标数据块进行解码,实现了将原本属于CPU的计算开销卸载到网络控制器上,减少CPU消耗,提升数据处理的效率,且目标数据块的两端包含相同的版本信息,保证了数据的有效性。
[0013]在一种可能的实现方式中,所述第二客户端的网络控制器从存储节点中读取第一数量个目标数据块,包括:所述网络控制器向所述存储节点发送针对所述第三数量的目标数据块中第四数量个目标数据块的读取指令,所述第四数量大于所述第一数量,且所述第四数量小于或者等于所述第三数量;所述网络控制器接收所述第四数量个目标数据块中前第一数量的目标数据块。通过向存储节点发送大于第一数量的目标数据块的读取指令,接收前第一数量的目标数据块的方式,降低读取数据所需的时间,提高数据读取效率。
[0014]在一种可能的实现方式中,所述第二客户端的网络控制器从存储节点中读取第一数量个目标数据块,包括:响应于所述第二客户端的缓存区域中存储有第二数据块的版本信息,所述网络控制器从所述缓存区域中读取所述第二数据块,所述缓存区域中存储有所述网络控制器从所述存储节点中历史读取的目标数据块,所述第二数据块为所述第一数量个目标数据块中的任意一个目标数据块;响应于所述缓存区域中未存储有所述第二数据块的版本信息,所述网络控制器从所述存储节点中读取所述第二数据块。由于网络控制器从缓存区域中读取数据块所需的时间小于从存储节点中读取数据块所需的时间,因此,通过优先从缓存区域中读取第二数据块的方式,降低了热数据的读延迟,提高数据读取效率。
[0015]在一种可能的实现方式中,所述方法还包括:所述网络控制器将所述原始数据和
所述第一数量个目标数据块存储至所述缓存区域中。通过将原始数据和目标数据块存储在缓存区域的方式,便于网络存储器后续读取目标数据块时,优先从缓存区域中读取,提高数据读取效率。
[0016]在一种可能的实现方式中,所述网络控制器对所述第一数量个目标数据块进行纠删码解码,得到原始数据,包括:所述网络控制器获取所述第二客户端的中央处理器发送的基于解码信息的解码指令;所述网络控制器响应于所述解码指令,基于所述解码信息对所述第一数量个目标数据块进行纠删码解码,得到原始数据。
[0017]第三方面,提供了一种数据写入装置,所述数据写入装置应用于网络控制器,所述装置包括:获取模块,用于获取待写入的原本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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.一种数据写入装置,其特征在于,所述数据写入装置应用于网络控制器,所述装置包括:获取模块,用于获取待写入的原始数据;编码模块,用于对所述原始数据进行纠删码编码,得到多个目标数据块;写入模块,用于将所述多个目标数据块中第三数...

【专利技术属性】
技术研发人员:舒继武陆游游高健谈晓东崔文林
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1