一种数据处理方法及装置制造方法及图纸

技术编号:18667956 阅读:21 留言:0更新日期:2018-08-14 20:34
本发明专利技术提供一种数据处理方法及装置,所述方法包括:当检测到针对数据块的写入操作时,将所述数据块映射至待映射的对象object;当所述object中的数据量达到预设容量时,对所述object进行存储处理。应用本发明专利技术实施例可以将小数据块I/O进行合并处理,转化为大数据块I/O落盘,减少资源消耗。

Data processing method and device

The present invention provides a data processing method and apparatus, which include: when a write operation for a data block is detected, the data block is mapped to the object to be mapped; and when the amount of data in the object reaches a preset capacity, the object is stored and processed. The embodiment of the invention can merge small data block I/O into large data block I/O and reduce resource consumption.

【技术实现步骤摘要】
一种数据处理方法及装置
本专利技术涉及通信
,尤其涉及一种数据处理方法及装置。
技术介绍
Ceph(分布式存储系统)是一种性能优异、高可靠性和高扩展性分布式存储系统,广泛应用于各类大中小型存储环境。Ceph的数据处理流程如下:1、用户需要存储或访问的data(数据)通过librbd(LibraryRADOS(Reliable,Autonomous,DistributedObjectStore,可靠、自治、分布式对象存储)BlockDevice,RADOS块存储接口库)映射为Ceph能够处理的object(对象);2、在data被映射为一个或多个object之后,就需要将每个object独立地映射到一个PG(PlacementGroup,归置组)中;3、将作为object的逻辑组织单元的PG映射到数据的实际存储单元OSD。其中,Ceph利用CRUSH的算法,根据PGID(标识)得到一组OSD,并将该PG中各object均分别保存到该组OSD中。由于该组OSD中的各OSD可能位于不同的主机节点,因此,需要通过网络将数据传输至相应的OSD上。然而实践发现,当需要处理的data为地址随机,并且大小为4k的数据块时,每发起一次写操作请求都会对应一次I/O(Input/output,输入/输出)处理流程,此过程中会涉及到地址计算、网络传输、数据落盘等。当存在大量此类data需要进行处理,并且每个data对应不同的object,则会触发大量的I/O处理流程,进而消耗大量的CPU(CenterProcessUnit,中央处理单元)资源。
技术实现思路
本专利技术提供一种数据处理方法及装置,以解决现有Ceph系统大量地址随机的小数据块会消耗大量的CPU资源的问题。根据本专利技术的第一方面,提供一种数据处理方法,应用于分布式对象存储系统的存储节点,该方法包括:当检测到针对数据块的写入操作时,将所述数据块映射至待映射的对象object;其中,所述待映射的object为所分配的用于进行数据块映射,且未进行存储处理的object;所述object的大小大于所述数据块的大小,且为所述数据块大小的整数倍;当所述object中的数据量达到预设容量时,对所述object进行存储处理。根据本专利技术的第二方面,提供一种数据处理装置,应用于分布式对象存储系统的存储节点,该装置包括:检测单元,用于检测针对数据块的读写操作;映射单元,用于当所述检测单元检测到针对数据块的写入操作时,将所述数据块映射至待映射的对象object;其中,所述待映射的object为所分配的用于进行数据块映射,且未进行存储处理的object;所述object的大小大于所述数据块的大小,且为所述数据块大小的整数倍;处理单元,用于当所述object中的数据量达到预设容量时,对所述object进行存储处理,并将所分配的下一个object确定为待映射的object。应用本专利技术公开的技术方案,当检测到针对数据块的写入操作时,将该数据块映射至待映射的object;当该object中的数据量达到预设容量时,对该object进行存储处理,将小数据块进行合并处理,转化为大数据块落盘,减少了资源消耗。附图说明图1是本专利技术实施例提供的一种基于Vobeject的数据处理框架示意图;图2是本专利技术实施例提供的一种三层树形结构的Vobject的示意图;图3是本专利技术实施例提供的一种数据处理方法的流程示意图;图4是本专利技术实施例提供的一种基于三层树形结构的Vobject的数据处理的流程示意图;图5是本专利技术实施例提供的一种数据处理装置的结构示意图;图6是本专利技术实施例提供的另一种数据处理装置的结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术实施例中的技术方案,下面先对本专利技术实施例中基于Vobject(Virtualobject,虚拟对象)的数据处理架构进行简单说明。Ceph中librbd主要功能是实现LUN(LogicUnitNumber,逻辑单元号)卷到object的转换,按照LBA(LogicalBlockAddress,逻辑区块地址)地址划分,通过地址换算得到数据块归属的object。如图1所示,在本专利技术实施例中,在LUN卷与object之间增加一层Vobject,Vobject采用树形结构进行组织管理,树形结构元数据以及业务数据通过object进行存储。其中,n为LBA地址,也即逻辑区块的编号(该编号从0开始,即第一区块的编号为0(即LBA地址为0)),datan为第(n+1)区块中的数据。如图2所示,为本专利技术实施例提供的一种树形结构的Vobject的示意图,如图2所示,Vobject为根节点(Root)、树枝节点(Branch)以及叶子节点(Leaf)的三层树形结构。其中:Leaf为固定长度的数据块,大小可以设置,同一Vobject中的Leaf由左至右采用连续编号,LUN按照LBA地址采用线性映射的方式与Leaf一一对应。举例来说,假设LUN大小为400M(逻辑区块大小为4k,LBA地址依次为0~(100k-1)),Vobject的大小为200M,Leaf的大小为4k,则一个LUN对应两个Vobject(如Vobject0和Vobject1),一个Vobject包括50k个Leaf,其编号从左至右可以依次为0~(50k-1)。LUN上LBA地址为0的逻辑区块对应Vobject0中的Leaf0,LBA地址为1的逻辑区块对应Vobject0中的Leaf1…LBA地址为(100k-1)的逻辑区块对应的Vobject1的Leaf(50k-1)。需要说明的是,在本专利技术实施例中,设置Leaf大小时,可以以进行数据块写入时数据块的大小为Leaf大小的整数倍的原则进行设置,例如,可以将Leaf大小设置为最小数据块的大小。Root与Branch用于对Leaf数据块进行组织管理,其大小可与Leaf不同,作为Vobject相应的元数据,Root中包含多个Branch,Branch中包含多个Leaf。由于Vobject的Leaf是按照LUN的LBA地址排序,所以在进行数据处理时可以快速定位到数据所在的Leaf编号,而树形结构中Leaf的地址是存放在Branch中,即存放在Branch所属object对应的存储空间中,所以还需要通过Leaf编号找到对应的Branch,并从该Branch所属object对应的存储空间中获取相应的地址,依此递归,Branch的地址存放在Root中,即存放在Root所属object对应的存储空间中,通过Branch编号在Root所属object对应的存储空间中获取相应地址,最后得到Leaf的地址并获取数据。其中,Root地址是根据Vobject编号进行分配的。Vobject中Leaf和Branch的地址由Object编号与Object内部offset(地址偏移量)组成。为了使本专利技术实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术实施例中技术方案作进一步详细的说明。请参见图3,为本专利技术实施例提供的一种数据处理方法的流程示意图,其中,该数据处理方法可以应用于分布式对象存储系统的存储节点,如Ceph中的存储节点,如图3所示,该数据处理方法可以包括以下步骤:为便于描述,以下本文档来自技高网
...

【技术保护点】
1.一种数据处理方法,应用于分布式对象存储系统的存储节点,其特征在于,所述方法包括:当检测到针对数据块的写入操作时,将所述数据块映射至待映射的对象object;其中,所述待映射的object为所分配的用于进行数据块映射,且未进行存储处理的object;所述object的大小大于所述数据块的大小,且为所述数据块大小的整数倍;当所述object中的数据量达到预设容量时,对所述object进行存储处理。

【技术特征摘要】
1.一种数据处理方法,应用于分布式对象存储系统的存储节点,其特征在于,所述方法包括:当检测到针对数据块的写入操作时,将所述数据块映射至待映射的对象object;其中,所述待映射的object为所分配的用于进行数据块映射,且未进行存储处理的object;所述object的大小大于所述数据块的大小,且为所述数据块大小的整数倍;当所述object中的数据量达到预设容量时,对所述object进行存储处理。2.根据权利要求1所述的方法,其特征在于,所述将所述数据块映射至待映射的对象object之后,还包括:当所述object中的数据量未达到所述预设容量,但当前时间与所述object中第一次映射数据块的时间之间的差值达到预设时长时,对所述object进行存储处理。3.根据权利要求1所述的方法,其特征在于,所述将所述数据块映射至待映射的object之后,还包括:根据所述数据块的写入地址确定所述数据块在预先设置的虚拟对象Vobject中对应的叶子节点的标识;其中,所述数据块的大小为所述叶子节点的大小的整数倍;将所述叶子节点的标识与所述object的标识以及所述数据块在所述object中的地址偏移量的对应关系记录至所述叶子节点在其对应的Vobject中的上一层节点;其中,所述上一层节点为树枝节点或根节点,树枝节点的标识与树枝节点所属object的标识以及树枝节点在其所属object中的地址偏移量记录在上一层树枝节点或根节点中,根节点的数据映射至该根节点所属Vobject对应的目标object中,所述目标object用于映射根节点的数据。4.根据权利要求3所述的方法,其特征在于,所述将所述叶子节点的标识与所述object的标识以及所述数据块在所述object中的地址偏移量的对应关系记录至所述叶子节点在其对应的Vobject中的上一层节点,包括:采用异址更新追加写的策略,将所述叶子节点的标识与所述object的标识以及所述数据块在所述object中的地址偏移量的对应关系记录至所述叶子节点在其对应的Vobject中的上一层节点。5.根据权利要求3所述的方法,其特征在于,Vobiect为根节点、树枝节点以及叶子节点的三层树形结构;所述方法还包括:当检测到针对数据的读取操作时,根据所述数据的读取地址确定所述数据对应目标Vobject中的目标叶子节点的标识;根据所述目标叶子节点的标识确定对应的目标树枝节点的标识;根据所述目标树枝节点的标识,从所述目标Vobject对应的目标object中获取所述目标树枝节点的地址信息;所述目标树枝节点的地址信息包括所述目标树枝节点所属object的标识以及所述目标树枝节点在其所属object中的地址偏移量;根据所述目标树枝节点的地址信息,从所述目标树枝节点所属object中获取所述目标叶子节点的地址信息;所述目标叶子节点的地址信息包括所述目标叶子节点所属的object的标识以及所述目标叶子节点在其所属object中的地址偏移量;根据所述目标叶子节点的地址信息,从已存储的所述目标叶子节点所属object中读取所...

【专利技术属性】
技术研发人员:张世龙陈钊王成林
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1