The invention provides a data processing method and a server. The method is: the server determines whether there is a target object in the storage system based on the append write request; if not, stores the object to be appended to the storage system; if there is, updates the partition number of the target object; creates a Rados object based on the current partition number of the target object, and writes the data of the object to be appended to the Rados Object; store the Rados object to the storage system, update the current manifest structure of the target object, and upload the metadata and xattr attributes in the target object to the header object of the target object. In this scheme, when uploading the object to be added to the target object, the object to be added is written after the target object in the form of fragment. It does not need to upload the original content of the target object repeatedly, saving network resources, reducing upload time and reducing server load.
【技术实现步骤摘要】
数据处理方法及服务器
本专利技术涉及数据存储
,具体涉及一种数据处理方法及服务器。
技术介绍
随着科学技术的发展,分布式对象存储系统逐渐应用于不同领域,例如视频监控领域和视频直播领域。目前向分布式对象存储系统上传数据对象的方式为:在上传数据对象后,数据对象对应的内容是固定的,即只能读取数据对象中的内容,但是不能修改数据对象中的内容。若数据对象新增内容,则需要上传同名的数据对象覆盖原先上传的数据对象。但是一方面,每次上传同名的数据对象覆盖原先上传的数据对象时,都会重复上传原先已有的内容,浪费网络资源和上传时间。另一方面,客户端每次需要读取数据对象的内容时,先从服务器读取数据对象的元数据信息,并判断数据对象中的内容是否发生变化,若发生变化再读取数据对象中的内容,会过多占用服务器的资源,加大服务器的负载。因此,目前向分布式对象存储系统上传数据对象的方式存在浪费网络资源、上传时间长和服务器负荷大等问题。
技术实现思路
有鉴于此,本专利技术实施例提供一种数据处理方法及服务器,以解决目前向分布式对象存储系统上传数据对象的方式存在浪费网络资源、上传时间长和服务器负荷大等问题。为实现上述目的,本专利技术实施例提供如下技术方案:本专利技术实施例第一方面公开一种数据处理方法,应用于服务器,所述方法包括:服务器基于客户端发送的追加写请求,确定存储系统中是否存在目标对象,所述追加写请求至少包括:目标桶、待追加对象和所述目标对象的对象名;若不存在,将所述待追加对象存储至 ...
【技术保护点】
1.一种数据处理方法,其特征在于,应用于服务器,所述方法包括:/n服务器基于客户端发送的追加写请求,确定存储系统中是否存在目标对象,所述追加写请求至少包括:目标桶、待追加对象和所述目标对象的对象名;/n若不存在,将所述待追加对象存储至所述存储系统;/n若存在,更新所述目标对象的分片号,使所述分片号的取值等于当前分片个数;/n基于所述目标对象的当前分片号,创建rados对象,将所述待追加对象对应的数据写入所述rados对象;/n将所述rados对象存储至所述存储系统,并更新所述目标对象当前的manifest结构体,所述manifest结构体至少包括当前分片号;/n将所述目标对象中的元数据和xattr属性上传至所述目标对象的头对象中。/n
【技术特征摘要】
1.一种数据处理方法,其特征在于,应用于服务器,所述方法包括:
服务器基于客户端发送的追加写请求,确定存储系统中是否存在目标对象,所述追加写请求至少包括:目标桶、待追加对象和所述目标对象的对象名;
若不存在,将所述待追加对象存储至所述存储系统;
若存在,更新所述目标对象的分片号,使所述分片号的取值等于当前分片个数;
基于所述目标对象的当前分片号,创建rados对象,将所述待追加对象对应的数据写入所述rados对象;
将所述rados对象存储至所述存储系统,并更新所述目标对象当前的manifest结构体,所述manifest结构体至少包括当前分片号;
将所述目标对象中的元数据和xattr属性上传至所述目标对象的头对象中。
2.根据权利要求1所述的方法,其特征在于,所述基于客户端发送的追加写请求,确定存储系统中是否存在目标对象,包括:
利用所述目标桶和目标对象的对象名,获取所述目标对象的头对象的状态信息;
基于所述目标对象的头对象的状态信息,确定存储系统中是否存在所述目标对象。
3.根据权利要求1所述的方法,其特征在于,所述更新所述目标对象的分片号,使所述分片号的取值等于当前分片个数,包括:
获取所述目标对象的头对象中的分片号;
将所述分片号加1,使所述分片号的取值等于当前分片个数,得到所述目标对象的当前分片号。
4.根据权利要求1所述的方法,其特征在于,确定存储系统中存在目标对象之后,还包括:
判断所述待追加对象的追加位置数据大小是否与所述目标对象的大小相同;
若相同,判断所述目标对象的类型是否为可追加类型;
若所述目标对象的类型为可追加类型,执行更新所述目标对象的分片号这一步骤。
5.根据权利要求1所述的方法,其特征在于,确定存储系统中不存在目标对象之后,还包括:
确定所述待追加对象的追加位置数据大小是否等于0;
若是,执行将所述待追加对象存储至所述存储系统这...
【专利技术属性】
技术研发人员:李欢欢,
申请(专利权)人:北京浪潮数据技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。