The invention discloses a distributed storage system and data modification system, writing methods include: the main memory module receives modify data sent by the client, through the pre established erasure algorithm to modify the data operation; main memory module will calculate the data storage, and to send the operation from the storage module the data transmitted data set contains the object encoding, encoding, offset, length of the data and modify the data itself; from the memory module after receiving data, create a temporary object and the length of data of the same length, and the temporary object is initialized to zero; from the memory module in the object encoding specified, will begin from the offset length data length of the data is copied into the temporary object, and modify the data written to the object. Compared with the existing methods, the method and the system of the invention can save storage space, save storage overhead, and do not carry out backup of temporary object data, reduce unnecessary read and write operation, and can improve writing bandwidth.
【技术实现步骤摘要】
分布式存储系统数据修改写方法及系统
本专利技术涉及存储
,特别是涉及一种分布式存储系统数据修改写方法及系统。
技术介绍
请参考图1(a)至图1(e)所示,现有技术中,分布式存储系统进行数据修改写采用的处理逻辑是,首先创建临时对象,临时对象与原对象大小一样;然后在临时对象中,将从需要修改的老数据对应的偏移量开始到对应长度的那段数据,先备份再用ZERO进行覆盖;最后将原对象中修改数据写入到临时对象中ZERO区段,将新数据写入原对象。存储系统中的修改写操作是指只修改对象中的一部分内容。然而,现有这种修改写方法,需要申请与原对象空间大小一样的临时对象,其实用到的空间大小只是偏移量开始到对应长度,浪费了一部分空间;对临时对象中被写入数据的那部分进行备份,是没有必要的,因为即使修改写失败也不必恢复临时对象中原有的内容,这样增加了不必要的读写操作,降低了写带宽。
技术实现思路
本专利技术的目的是提供一种分布式存储系统数据修改写方法及系统,与现有技术相比,减少了不必要的读写操作,可提高写带宽,并节省了不必要的存储开销。为实现上述目的,本专利技术提供如下技术方案:一种分布式存储系统数据修改写方法,包括:主存储模块在接收到客户端发送的修改数据后,通过预制定的纠删算法对修改数据运算;所述主存储模块将运算得到的数据存储,并向各从存储模块发送运算得到的数据,发送的数据包含对象编码、集合编码、偏移量、数据长度和修改数据本身;所述从存储模块在接收到数据后,创建长度与数据长度相同的临时对象,并将所述临时对象初始化为全零;所述从存储模块在所述对象编码指定的对象中,将从所述偏移量开始、长度 ...
【技术保护点】
一种分布式存储系统数据修改写方法,其特征在于,包括:主存储模块在接收到客户端发送的修改数据后,通过预制定的纠删算法对修改数据运算;所述主存储模块将运算得到的数据存储,并向各从存储模块发送运算得到的数据,发送的数据包含对象编码、集合编码、偏移量、数据长度和修改数据本身;所述从存储模块在接收到数据后,创建长度与数据长度相同的临时对象,并将所述临时对象初始化为全零;所述从存储模块在所述对象编码指定的对象中,将从所述偏移量开始、长度为所述数据长度的数据复制到所述临时对象中,并将所述修改数据写入所述对象中。
【技术特征摘要】
1.一种分布式存储系统数据修改写方法,其特征在于,包括:主存储模块在接收到客户端发送的修改数据后,通过预制定的纠删算法对修改数据运算;所述主存储模块将运算得到的数据存储,并向各从存储模块发送运算得到的数据,发送的数据包含对象编码、集合编码、偏移量、数据长度和修改数据本身;所述从存储模块在接收到数据后,创建长度与数据长度相同的临时对象,并将所述临时对象初始化为全零;所述从存储模块在所述对象编码指定的对象中,将从所述偏移量开始、长度为所述数据长度的数据复制到所述临时对象中,并将所述修改数据写入所述对象中。2.根据权利要求1所述的分布式存储系统数据修改写方法,其特征在于,在所述从存储模块将所述修改数据写入所述对象中之后,还包括:所述从存储模块向所述主存储模块发送应答信息,以告知所述主存储模块接收到的修改数据已经落盘,同时记录本对象新的版本号。3.根据权利要求2所述的分布式存储系统数据修改写方法,其特征在于,还包括:当所述主存储模块接收到所有从存储模块发送的应答信息后,向所述客户端发送用于告知数据已经写完的应答信息,并向各所述从存储模块发送删除操作指令,所述删除操作指令用于指示所述从存储模块删除所述临时对象。4.根据权利要求1所述的分布式存储系统数据修改写方法,其特征在于,若所述分布式存储系统出现宕机并在重启后,所述主存储模块检查各所述从存储模块的对象版本号,取其中最低的版本号作为基准版本号;若所述从存储模块的对象版本号高于所述基准版本号,则将所述临时对象的内容复制到所述从存储模块原对象中所述偏移量和所述数据长度指定的区域,复制完成后删除所述临时对象,并将所述对象版本号降级为所述基准版本号;若所述从存储模块的对象版本号为所述基准版本号,并且临时对象的内容不是全零,则将所述临时对象的内容复制到所述从存储模块原对象中所述偏移量和所述数据长度指定的区域,复制完成后删除所述临时对象;若所述从存储模块的对象版本号为所述基准版本号,并且临时对象的内容是全零,则删除所述临时对象。5.根据权利要求1-4任一项所述的分布式存储系统数据修改写方法,其特征在于,所述主存储模块在接收到客户端发送的修改数据后,将修改数据的偏移量和长度大小与对象属性进行对比,若修改数据的偏移量小于对象长度,则确定进行修改写操作。6.一种分布式存储系统数据修改写系统,其特征在于,包括主存储模块和从存...
【专利技术属性】
技术研发人员:赵赞,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。