The invention provides a data writing method and an apparatus, which include: when receiving a write request for a target file, dividing the target file into original data blocks according to a preset block size, and calculating at least one checking data block according to the original data block using a parity check algorithm; The original data block corresponding to the label file and the check data block are concurrently written to successive free blocks in the object group of the object; each object in the object group is mapped to a different object storage device OSD. The embodiment of the invention can solve the problem of writing penalty in Ceph EC and improve the data writing performance of Ceph EC.
【技术实现步骤摘要】
一种数据写入方法及装置
本专利技术涉及数据处理
,尤其涉及一种数据写入方法及装置。
技术介绍
Ceph(分布式存储系统)是一种性能优异、高可靠性和高扩展性分布式存储系统,广泛应用于各类大中小型存储环境。目前,Ceph主要采用多副本策略以保证数据的可靠性,但是多副本策略降低了Ceph的磁盘利用率,例如,2副本磁盘利用率50%,3副本磁盘利用率33%。为了提高磁盘利用率,Ceph提出了纠删码(ErasureCoding,EC)策略。纠删码算法将写入数据分成K份原始数据,通过这K份原始数据计算出M份校验数据,通过这K+M份中的任意K份数据可以还原出所有原始数据。然而实践发现,现有CephEC方案中当条带中部分原始数据发生修改时,需要先将条带中未发生修改的原始数据读出,重新计算校验数据,并将发生修改的数据和新计算的校验块写入条带中的相应位置,即存在写惩罚。
技术实现思路
本专利技术提供一种数据写入方法及装置,以解决现有CephEC方案不支持覆盖写,且存在写惩罚的问题。根据本专利技术的第一方面,提供一种数据写入方法,应用于分布式对象存储系统中的存储节点,所述方法包括:当接收到针对目标文件的写入请求时,按照预设区块大小将所述目标文件划分为原始数据块,并根据所述原始数据块利用奇偶校验算法计算至少一个校验数据块;将所述目标文件对应的原始数据块以及校验数据块并发写入对象object组中的连续多个空闲区块;其中,所述object组中包括至少三个object,所述object组中各object包括等量等大小的区块,所述连续多个空闲区块依次归属于所述object组中的各obje ...
【技术保护点】
1.一种数据写入方法,应用于分布式对象存储系统中的存储节点,其特征在于,所述方法包括:当接收到针对目标文件的写入请求时,按照预设区块大小将所述目标文件划分为原始数据块,并根据所述原始数据块利用奇偶校验算法计算至少一个校验数据块;将所述目标文件对应的原始数据块以及校验数据块并发写入对象object组中的连续多个空闲区块;其中,所述object组中包括至少三个object,所述object组中各object包括等量等大小的区块,所述连续多个空闲区块依次归属于所述object组中的各object;将所述object组中的各object映射至不同的对象存储设备OSD。
【技术特征摘要】
1.一种数据写入方法,应用于分布式对象存储系统中的存储节点,其特征在于,所述方法包括:当接收到针对目标文件的写入请求时,按照预设区块大小将所述目标文件划分为原始数据块,并根据所述原始数据块利用奇偶校验算法计算至少一个校验数据块;将所述目标文件对应的原始数据块以及校验数据块并发写入对象object组中的连续多个空闲区块;其中,所述object组中包括至少三个object,所述object组中各object包括等量等大小的区块,所述连续多个空闲区块依次归属于所述object组中的各object;将所述object组中的各object映射至不同的对象存储设备OSD。2.根据权利要求1所述的方法,其特征在于,所述将所述目标文件对应的原始数据块以及校验数据块并发写入object组中的连续多个空闲区块,包括:若当前的object组的已用容量达到第一预设阈值,且已分配的object组的总容量未达到预设最大容量,则分配新的object组,并将所述原始数据块以及校验数据块并发写入新分配的object组中的连续多个空闲区块。3.根据权利要求2所述的方法,其特征在于,所述将所述目标文件对应的原始数据块以及校验数据块并发写入object组中的连续多个空闲区块,还包括:若当前的object组的已用容量达到第一预设阈值,且已分配的object组的总容量已达到预设最大容量,则将所述原始数据块以及校验数据块并发写入存在空闲区块且初始分配的object组中的连续多个空闲区块。4.根据权利要求1所述的方法,其特征在于,所述object组为虚拟对象Vobject组,所述Vobject组中各Vobeject包括至少一个object,且各Vobject中包括的object数量相同;所述将所述目标文件对应的原始数据块以及校验数据块并发写入对象object组中的连续多个空闲区块,包括:若所述Vobject组中存在空闲区块的object的已用容量达到第二预设阈值,且已分配的object的总容量未达到预设最大容量,则为所述Vobject组中各Vobject分配新的object,并将所述原始数据块以及校验数据块并发写入所述Vobject组中存在空闲区块且初始分配的object的连续多个空闲区块;所述将所述object组中的各object映射至不同的OSD,包括:将所述Vobject组中的各object映射至不同的OSD;其中,归属于不同Vobeject的object映射至不同的OSD。5.根据权利要求4所述的方法,其特征在于,所述将所述目标文件对应的原始数据块以及校验数据块并发写入所述Vobject组中存在空闲区块且初始分配的object的连续多个空闲区块之后,还包括:记录所述原始数据块以及校验数据块所在的区块归属的Vobject的标识以及地址,并记录所述原始数据块以及校验数据块所在...
【专利技术属性】
技术研发人员:马海兵,陈钊,
申请(专利权)人:新华三技术有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。