[发明专利]分布式存储系统数据修改写方法及系统在审
申请号: | 201710632686.X | 申请日: | 2017-07-28 |
公开(公告)号: | CN107357536A | 公开(公告)日: | 2017-11-17 |
发明(设计)人: | 赵赞 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 存储系统 数据 修改 方法 系统 | ||
本发明公开了一种分布式存储系统数据修改写方法及系统,方法包括:主存储模块在接收到客户端发送的修改数据后,通过预制定的纠删算法对修改数据运算;主存储模块将运算得到的数据存储,并向各从存储模块发送运算得到的数据,发送的数据包含对象编码、集合编码、偏移量、数据长度和修改数据本身;从存储模块在接收到数据后,创建长度与数据长度相同的临时对象,并将临时对象初始化为全零;从存储模块在对象编码指定的对象中,将从偏移量开始、长度为数据长度的数据复制到临时对象中,并将修改数据写入对象中。与现有方法相比,本发明方法及系统可节省存储空间,节省存储开销;并且不进行临时对象数据的备份,减少了不必要的读写操作,可提高写带宽。
技术领域
本发明涉及存储技术领域,特别是涉及一种分布式存储系统数据修改写方法及系统。
背景技术
请参考图1(a)至图1(e)所示,现有技术中,分布式存储系统进行数据修改写采用的处理逻辑是,首先创建临时对象,临时对象与原对象大小一样;然后在临时对象中,将从需要修改的老数据对应的偏移量开始到对应长度的那段数据,先备份再用ZERO进行覆盖;最后将原对象中修改数据写入到临时对象中ZERO区段,将新数据写入原对象。存储系统中的修改写操作是指只修改对象中的一部分内容。
然而,现有这种修改写方法,需要申请与原对象空间大小一样的临时对象,其实用到的空间大小只是偏移量开始到对应长度,浪费了一部分空间;对临时对象中被写入数据的那部分进行备份,是没有必要的,因为即使修改写失败也不必恢复临时对象中原有的内容,这样增加了不必要的读写操作,降低了写带宽。
发明内容
本发明的目的是提供一种分布式存储系统数据修改写方法及系统,与现有技术相比,减少了不必要的读写操作,可提高写带宽,并节省了不必要的存储开销。
为实现上述目的,本发明提供如下技术方案:
一种分布式存储系统数据修改写方法,包括:
主存储模块在接收到客户端发送的修改数据后,通过预制定的纠删算法对修改数据运算;
所述主存储模块将运算得到的数据存储,并向各从存储模块发送运算得到的数据,发送的数据包含对象编码、集合编码、偏移量、数据长度和修改数据本身;
所述从存储模块在接收到数据后,创建长度与数据长度相同的临时对象,并将所述临时对象初始化为全零;
所述从存储模块在所述对象编码指定的对象中,将从所述偏移量开始、长度为所述数据长度的数据复制到所述临时对象中,并将所述修改数据写入所述对象中。
可选地,在所述从存储模块将所述修改数据写入所述对象中之后,还包括:
所述从存储模块向所述主存储模块发送应答信息,以告知所述主存储模块接收到的修改数据已经落盘,同时记录本对象新的版本号。
可选地,还包括:
当所述主存储模块接收到所有从存储模块发送的应答信息后,向所述客户端发送用于告知数据已经写完的应答信息,并向各所述从存储模块发送删除操作指令,所述删除操作指令用于指示所述从存储模块删除所述临时对象。
可选地,若所述分布式存储系统出现宕机并在重启后,所述主存储模块检查各所述从存储模块的对象版本号,取其中最低的版本号作为基准版本号;
若所述从存储模块的对象版本号高于所述基准版本号,则将所述临时对象的内容复制到所述从存储模块原对象中所述偏移量和所述数据长度指定的区域,复制完成后删除所述临时对象,并将所述对象版本号降级为所述基准版本号;
若所述从存储模块的对象版本号为所述基准版本号,并且临时对象的内容不是全零,则将所述临时对象的内容复制到所述从存储模块原对象中所述偏移量和所述数据长度指定的区域,复制完成后删除所述临时对象;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710632686.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电动汽车辅助动力组合装置
- 下一篇:一种车载充电机
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置