本申请公开了一种数据追加写入方法、装置及设备和介质,包括:向服务器发送用于请求数据追加写入的第一追加请求;第一追加请求包括需要进行追加写入的目标对象的基本信息;接收服务器对第一追加请求进行响应后返回的目标对象的元数据信息;根据元数据信息对待追加写入数据进行逻辑切分;基于切分后的每个数据块分别向服务器发送用于执行数据追加写入的第二追加请求,以使服务器根据所述第二追加请求将待追加写入数据写入目标对象。本申请能够基于切分后的数据块上传多个追加请求,服务器即可对每个追加请求进行单独处理,避免了仅通过一次追加上传请求对所有待追加写入数据进行一次性上传所导致的带宽占用问题,提升了数据追加上传效率。
A method, device, electronic equipment and storage medium for data addition and writing
【技术实现步骤摘要】
一种数据追加写入方法、装置及电子设备和存储介质
本申请涉及计算机
,更具体地说,涉及一种数据追加写入方法、装置及一种电子设备和一种计算机可读存储介质。
技术介绍
随着互联网的发展,互联网数据量越来越大,分布式对象存储应运而生。这种新兴的存储方式,适用于图片、视频等非结构化数据的存储,同时又具有块存储高速直接访问磁盘的特点以及文件存储分布式共享的特点,因此一经推出就得到广泛的发展与应用。分布式对象存储系统中的追加上传,是在已经上传到存储系统的可追加类型对象的后面以追加的方式上传新的对象。服务器端对于追加上传请求的处理,一次追加上传操作只能接受一次追加上传请求,意味着对于单次追加上传,客户端只能发送一次追加上传请求,并且一次性将需要追加的文件全部传送到服务器端进行数据存储。然而,这种追加上传方式对于大文件的追加上传处理效率较低,对于有带宽竞争的场景,若此操作一直占用带宽,则会影响其他操作缓慢和滞后。
技术实现思路
本申请的目的在于提供一种数据追加写入方法、装置及一种电子设备和一种计算机可读存储介质,避免了带宽占用问题,提升了数据追加上传效率。为实现上述目的,本申请提供了一种数据追加写入方法,应用于客户端,包括:向服务器发送用于请求数据追加写入的第一追加请求;所述第一追加请求包括需要进行追加写入的目标对象的基本信息;接收所述服务器对所述第一追加请求进行响应后返回的所述目标对象的元数据信息;根据所述元数据信息对待追加写入数据进行逻辑切分,得到切分后的数据块;<br>基于切分后的每个数据块分别向所述服务器发送用于执行数据追加写入的第二追加请求,以使所述服务器根据所述第二追加请求将所述待追加写入数据写入所述目标对象。可选的,所述接收所述服务器对所述第一追加请求进行响应后返回的所述目标对象的元数据信息,包括:接收所述服务器对所述第一追加请求进行响应后返回的所述目标对象的最后一个条带对象的条带总容量、已占用条带容量以及当前条带编号。可选的,所述根据所述元数据信息对待追加写入数据进行逻辑切分,得到切分后的数据块,包括:判断所述最后一个条带对象的条带总容量和已占用条带容量是否相等;如果是,则直接根据所述条带总容量对所述待追加写入数据进行切分,得到切分后的数据块;如果否,则确定所述条带总容量和所述已占用条带容量的第一差值,以及所述待追加写入数据的大小与所述第一差值的第二差值;将所述第一差值确定为第一个数据块的大小,并根据所述第二差值和所述条带总容量确定剩余数据块的大小,得到切分后的数据块。可选的,所述将所述第一差值确定为第一个数据块的大小,并根据所述第二差值和所述条带总容量确定剩余数据块的大小,得到切分后的数据块之后,还包括:将所述当前条带编号确定为所述第一个数据块对应的逻辑编号;根据所述当前条带编号,按照数据逻辑顺序为所述剩余数据块依次分配递增的逻辑编号。可选的,所述基于切分后的每个数据块分别向所述服务器发送用于执行数据追加写入的第二追加请求,包括:基于切分后的每个数据块并发地向所述服务器发送用于执行数据追加写入的第二追加请求;或,基于切分后的每个数据块顺序地向所述服务器发送用于执行数据追加写入的第二追加请求。为实现上述目的,本申请提供了一种数据追加写入方法,应用于服务器,包括:获取客户端发送的用于请求数据追加写入的第一追加请求;所述第一追加请求包括需要进行追加写入的目标对象的基本信息;对所述第一追加请求进行响应,将所述目标对象的元数据信息返回至所述客户端,以使所述客户端根据所述元数据信息对待追加写入数据进行逻辑切分,得到切分后的数据块;接收所述客户端基于切分后的每个数据块分别发送的用于执行数据追加写入的第二追加请求;根据所述第二追加请求将所述待追加写入数据写入所述目标对象。可选的,所述根据所述第二追加请求将所述待追加写入数据写入所述目标对象,包括:根据所述第二追加请求创建对应的条带对象,将切分后的数据块分别写入对应的条带对象中,并在写入完成后更新所述目标对象的元数据信息。为实现上述目的,本申请提供了一种数据追加写入装置,应用于客户端,包括:第一发送模块,用于向服务器发送用于请求数据追加写入的第一追加请求;所述第一追加请求包括需要进行追加写入的目标对象的基本信息;信息接收模块,用于接收所述服务器对所述第一追加请求进行响应后返回的所述目标对象的元数据信息;数据切分模块,用于根据所述元数据信息对待追加写入数据进行逻辑切分,得到切分后的数据块;第二发送模块,用于基于切分后的每个数据块分别向所述服务器发送用于执行数据追加写入的第二追加请求,以使所述服务器根据所述第二追加请求将所述待追加写入数据写入所述目标对象。为实现上述目的,本申请提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现前述公开的任一种数据追加写入方法的步骤。为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的任一种数据追加写入方法的步骤。通过以上方案可知,本申请提供的一种数据追加写入方法,应用于客户端,包括:向服务器发送用于请求数据追加写入的第一追加请求;所述第一追加请求包括需要进行追加写入的目标对象的基本信息;接收所述服务器对所述第一追加请求进行响应后返回的所述目标对象的元数据信息;根据所述元数据信息对待追加写入数据进行逻辑切分,得到切分后的数据块;基于切分后的每个数据块分别向所述服务器发送用于执行数据追加写入的第二追加请求,以使所述服务器根据所述第二追加请求将所述待追加写入数据写入所述目标对象。由上可知,本申请首先向服务器发送第一追加请求,以获取目标对象的元数据信息,进而可根据元数据信息对待追加写入数据进行逻辑切分,得到切分后的数据块,并基于切分后的每个数据块分别向服务器发送第二追加请求,以使服务器执行数据追加写入,也即,本申请能够基于切分后的数据块上传多个追加请求,服务器即可对每个追加请求进行单独处理,避免了仅通过一次追加上传请求对所有待追加写入数据进行一次性上传所导致的带宽占用问题,提升了数据追加上传效率。本申请还公开了一种数据追加写入装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例公开的一种数据追加写入方法的流程图;图2为本申请实施例公开的另一种数据追加写本文档来自技高网...
【技术保护点】
1.一种数据追加写入方法,其特征在于,应用于客户端,包括:/n向服务器发送用于请求数据追加写入的第一追加请求;所述第一追加请求包括需要进行追加写入的目标对象的基本信息;/n接收所述服务器对所述第一追加请求进行响应后返回的所述目标对象的元数据信息;/n根据所述元数据信息对待追加写入数据进行逻辑切分,得到切分后的数据块;/n基于切分后的每个数据块分别向所述服务器发送用于执行数据追加写入的第二追加请求,以使所述服务器根据所述第二追加请求将所述待追加写入数据写入所述目标对象。/n
【技术特征摘要】
1.一种数据追加写入方法,其特征在于,应用于客户端,包括:
向服务器发送用于请求数据追加写入的第一追加请求;所述第一追加请求包括需要进行追加写入的目标对象的基本信息;
接收所述服务器对所述第一追加请求进行响应后返回的所述目标对象的元数据信息;
根据所述元数据信息对待追加写入数据进行逻辑切分,得到切分后的数据块;
基于切分后的每个数据块分别向所述服务器发送用于执行数据追加写入的第二追加请求,以使所述服务器根据所述第二追加请求将所述待追加写入数据写入所述目标对象。
2.根据权利要求1所述的数据追加写入方法,其特征在于,所述接收所述服务器对所述第一追加请求进行响应后返回的所述目标对象的元数据信息,包括:
接收所述服务器对所述第一追加请求进行响应后返回的所述目标对象的最后一个条带对象的条带总容量、已占用条带容量以及当前条带编号。
3.根据权利要求2所述的数据追加写入方法,其特征在于,所述根据所述元数据信息对待追加写入数据进行逻辑切分,得到切分后的数据块,包括:
判断所述最后一个条带对象的条带总容量和已占用条带容量是否相等;
如果是,则直接根据所述条带总容量对所述待追加写入数据进行切分,得到切分后的数据块;
如果否,则确定所述条带总容量和所述已占用条带容量的第一差值,以及所述待追加写入数据的大小与所述第一差值的第二差值;
将所述第一差值确定为第一个数据块的大小,并根据所述第二差值和所述条带总容量确定剩余数据块的大小,得到切分后的数据块。
4.根据权利要求3所述的数据追加写入方法,其特征在于,所述将所述第一差值确定为第一个数据块的大小,并根据所述第二差值和所述条带总容量确定剩余数据块的大小,得到切分后的数据块之后,还包括:
将所述当前条带编号确定为所述第一个数据块对应的逻辑编号;
根据所述当前条带编号,按照数据逻辑顺序为所述剩余数据块依次分配递增的逻辑编号。
5.根据权利要求1至4任一项所述的数据追加写入方法,其特征在于,所述基于切分后的每个数据块分别向所述服务器发送用于执行数据追加写入的第二追加请求,包括:
基于切分后的每个数据块...
【专利技术属性】
技术研发人员:李欢欢,胡永刚,
申请(专利权)人:浪潮电子信息产业股份有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。