数据的处理方法及装置制造方法及图纸

技术编号:24289743 阅读:63 留言:0更新日期:2020-05-26 20:05
本发明专利技术实施例提供了一种数据的处理方法和装置,其中,所述方法包括:获取来自客户端的多个分片数据,根据所述分片数据的数据量设置缓存区域的额定容量,所述分片数据的数据量小于所述缓存区域的额定容量,且所述分片数据的数据量的整数倍与所述额定容量不相同;将多个所述分片数据分别存储至对应的缓存区域;当已存储的多个所述分片数据的数据量之和与所述缓存区域的额定容量相同时,将所述缓存区域中存储的所述分片数据传输至服务器端。本发明专利技术实施例对客户端的分片数据的数据量不做限定,不要求分片数据的数据量的整数倍与缓存区域的额定容量相同,进而能够达到降低对客户端的分片数据的数据量的要求的技术效果。

Data processing method and device

【技术实现步骤摘要】
数据的处理方法及装置
本专利技术涉及数据存储
,特别是涉及一种数据的处理方法、装置、电子设备和存储介质。
技术介绍
目前,随着互联网业务的不断增加,以及大数据技术的发展,越来越多的公司需要存储大量的数据文件。对象存储服务(ObjectStorageService,OSS)逐渐成为互联网存储服务的重心。随着多种公有云对象存储服务的出现,很多公司不再局限于将数据文件都存储到一个公有云上,因此,上传代理服务成为客户端和存储服务器之间的操作桥梁。常规的上传代理服务提供软件开发工具包(SoftwareDevelopmentKit,SDK)给客户端调用。在客户端不需要编写读写文件代码,只需要调用SDK接口即可实现数据文件上传到公有云。但是,当存在大量的客户端调用SDK时,若需要对SDK进行升级,相应地需要修改各客户端的业务逻辑,导致更新SDK费事费力,因此,将上传代理服务独立出来,通过独立出来的上传代理服务对接公有云的SDK,并为各客户端提供上传接口。当客户端通过独立出的上传代理服务将一个较大的数据文件上传到存储服务器时,客户端先将数据文件划分为多个较小的分片数据,再将多个分片数据通过上传接口传输至上传代理服务。上传代理服务预先按照存储服务器的要求创建多个一定大小的缓存区域,缓存区域用于临时存储分片数据。由于各客户端划分的分片数据的大小各不相同,容易出现一个分片数据存储在多个缓存区域的情况。此时,上传代理服务无法直接拼接、中转缓存区域中的数据至存储服务器。所以,现有的上传代理服务要求客户端自定义的分片数据的大小的整数倍与缓存区域的大小一致。但是,客户端往往无法按照上传代理服务的要求划分分片数据,导致分片数据的大小的整数倍与缓存区域的大小不一致,从而造成上传代理服务无法直接拼接、中转缓存区域中的数据至存储服务器的问题。
技术实现思路
本专利技术实施例的目的在于提供一种数据的处理方法、装置、电子设备和存储介质,以实现上传代理服务降低对客户端自定义的分片数据的大小要求的目的。具体技术方案如下:在本专利技术实施的第一方面,首先提供了一种数据的处理方法,包括:获取来自客户端的多个分片数据,根据所述分片数据的数据量设置缓存区域的额定容量,所述分片数据的数据量小于所述缓存区域的额定容量,且所述分片数据的数据量的整数倍与所述额定容量不相同;将多个所述分片数据分别存储至对应的缓存区域;当已存储的多个所述分片数据的数据量之和与所述缓存区域的额定容量相同时,将所述缓存区域中存储的所述分片数据传输至服务器端。可选地,在所述获取来自客户端的多个分片数据的步骤时,所述方法还包括:获取来自所述客户端的数据文件对应的缓存目录的目录标识信息、所述分片数据在所述数据文件中的起始字节索引信息和所述分片数据的数据量,所述起始字节索引信息表示所述分片数据的起始字节在所述数据文件中的位置信息,所述分片数据由所述数据文件划分所得。可选地,所述将多个所述分片数据分别存储至对应的缓存区域的步骤,包括:根据所述目录标识信息匹配对应的缓存目录,匹配的缓存目录表示待存储所述分片数据的所述缓存区域所在的所述缓存目录;根据所述数据文件的数据量、所述起始字节索引信息、所述额定容量和所述分片数据的各字节的长度信息,确定各所述字节在匹配的所述缓存目录中对应的所述缓存区域;将所述分片数据的各所述字节存储至对应的所述缓存区域。可选地,所述根据所述数据文件的数据量、所述起始字节索引信息、所述额定容量和所述分片数据的各字节的长度信息,确定各所述字节在匹配的所述缓存目录中对应的所述缓存区域的步骤,包括:将所述数据文件的数据量与所述额定容量的比值,或所述比值与预设数值之和作为匹配的所述缓存目录中所述缓存区域的数量;针对每个所述字节,将所述起始字节索引信息与当前所述字节的长度信息之和与所述额定容量的比值,与所述预设数值之和作为当前所述字节在匹配的所述缓存目录中对应的所述缓存区域的顺序号;针对每个所述字节,按照所述顺序号和匹配的所述缓存目录中所述缓存区域的数量确定当前所述字节在匹配的所述缓存目录中对应的所述缓存区域。可选地,在所述获取来自客户端的多个分片数据的步骤之前,所述方法还包括:获取所述数据文件的数据量和属性信息,所述属性信息包括所述数据文件的文件标识信息和/或传输加速信息;创建所述缓存目录;根据所述属性信息为所述缓存目录生成所述目录标识信息,并建立所述缓存目录与所述目录标识信息之间的对应关系。可选地,在所述将所述缓存区域中存储的所述分片数据传输至服务器端的步骤之前,所述方法还包括:启动检测线程;利用所述检测线程获取所述缓存目录中各所述缓存区域中各所述字节的起始位置信息和结束位置信息;根据所述起始位置信息、所述结束位置信息和所述额定容量检测已存储的多个所述分片数据的数据量之和与所述缓存区域的额定容量是否相同。可选地,所述根据所述起始位置信息、所述结束位置信息和所述额定容量检测已存储的多个所述分片数据的数据量之和与所述缓存区域的额定容量是否相同的步骤,包括:将满足预设的合并条件的多个所述字节进行合并操作,得到合并后的字节组合;判断所述字节组合在所述缓存区域的占用量是否与所述额定容量相同;若所述占用量与所述额定容量相同,则确定已存储的多个所述分片数据的数据量之和与所述缓存区域的额定容量相同;若所述占用量与所述额定容量不同,则确定已存储的多个所述分片数据的数据量之和与所述缓存区域的额定容量不相同。可选地,所述合并条件为所述字节的起始位置信息位于其他所述字节的起始位置信息与结束位置信息之间,和/或,所述字节的结束位置信息位于其他所述字节的起始位置信息与结束位置信息之间。在本专利技术实施的第二方面,还提供了一种数据的处理装置,包括:获取模块,用于获取来自客户端的多个分片数据;设置模块,用于根据所述分片数据的数据量设置缓存区域的额定容量,所述分片数据的数据量小于所述缓存区域的额定容量,且所述分片数据的数据量的整数倍与所述额定容量不相同;存储模块,用于将多个所述分片数据分别存储至对应的缓存区域;传输模块,用于当已存储的多个所述分片数据的数据量之和与所述缓存区域的额定容量相同时,将所述缓存区域中存储的所述分片数据传输至服务器端。可选地,所述获取模块,还用于在获取来自客户端的多个分片数据时,获取来自所述客户端的数据文件对应的缓存目录的目录标识信息、所述分片数据在所述数据文件中的起始字节索引信息和所述分片数据的数据量,所述起始字节索引信息表示所述分片数据的起始字节在所述数据文件中的位置信息,所述分片数据由所述数据文件划分所得。可选地,所述存储模块,包括:匹配模块,用于根据所述目录标识信息匹配对应的缓存目录,匹配的缓存目录表示待存储所述分片数据的所述缓存区域所在的所述缓存目录;确定模块,用于根据所述数据文件的数据量、所述起始字节索引信息、所述额定容量和所述分片数据的各字节的长度信息,确定各所述字节在匹配的所述缓存目录中对应的所述缓存区域;字节存储模块,用于将所述分片数据的各所述字节存储至对应的所述缓存区域。可选地,所述确定模块,包括:数本文档来自技高网
...

【技术保护点】
1.一种数据的处理方法,其特征在于,包括:/n获取来自客户端的多个分片数据,根据所述分片数据的数据量设置缓存区域的额定容量,所述分片数据的数据量小于所述缓存区域的额定容量,且所述分片数据的数据量的整数倍与所述额定容量不相同;/n将多个所述分片数据分别存储至对应的缓存区域;/n当已存储的多个所述分片数据的数据量之和与所述缓存区域的额定容量相同时,将所述缓存区域中存储的所述分片数据传输至服务器端。/n

【技术特征摘要】
1.一种数据的处理方法,其特征在于,包括:
获取来自客户端的多个分片数据,根据所述分片数据的数据量设置缓存区域的额定容量,所述分片数据的数据量小于所述缓存区域的额定容量,且所述分片数据的数据量的整数倍与所述额定容量不相同;
将多个所述分片数据分别存储至对应的缓存区域;
当已存储的多个所述分片数据的数据量之和与所述缓存区域的额定容量相同时,将所述缓存区域中存储的所述分片数据传输至服务器端。


2.根据权利要求1所述的方法,其特征在于,在所述获取来自客户端的多个分片数据的步骤时,所述方法还包括:
获取来自所述客户端的数据文件对应的缓存目录的目录标识信息、所述分片数据在所述数据文件中的起始字节索引信息和所述分片数据的数据量,所述起始字节索引信息表示所述分片数据的起始字节在所述数据文件中的位置信息,所述分片数据由所述数据文件划分所得。


3.根据权利要求2所述的方法,其特征在于,所述将多个所述分片数据分别存储至对应的缓存区域的步骤,包括:
根据所述目录标识信息匹配对应的缓存目录,匹配的缓存目录表示待存储所述分片数据的所述缓存区域所在的所述缓存目录;
根据所述数据文件的数据量、所述起始字节索引信息、所述额定容量和所述分片数据的各字节的长度信息,确定各所述字节在匹配的所述缓存目录中对应的所述缓存区域;
将所述分片数据的各所述字节存储至对应的所述缓存区域。


4.根据权利要求3所述的方法,其特征在于,所述根据所述数据文件的数据量、所述起始字节索引信息、所述额定容量和所述分片数据的各字节的长度信息,确定各所述字节在匹配的所述缓存目录中对应的所述缓存区域的步骤,包括:
将所述数据文件的数据量与所述额定容量的比值,或所述比值与预设数值之和作为匹配的所述缓存目录中所述缓存区域的数量;
针对每个所述字节,将所述起始字节索引信息与当前所述字节的长度信息之和与所述额定容量的比值,与所述预设数值之和作为当前所述字节在匹配的所述缓存目录中对应的所述缓存区域的顺序号;
针对每个所述字节,按照所述顺序号和匹配的所述缓存目录中所述缓存区域的数量确定当前所述字节在匹配的所述缓存目录中对应的所述缓存区域。


5.根据权利要求3或4所述的方法,其特征在于,在所述获取来自客户端的多个分片数据的步骤之前,所述方法还包括:
获取所述数据文件的数据量和属性信息,所述属性信息包括所述数据文件的文件标识信息和/或传输加速信息;
创建所述缓存目录;
根据所述属性信息为所述缓存...

【专利技术属性】
技术研发人员:吉毅叶权陈永旺
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京;11

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

1