【技术实现步骤摘要】
一种针对海量大对象数据的高效能存储方法
本专利技术涉及海量数据存储领域,特别是涉及一种针对海量大对象数据的高效能存储方法。
技术介绍
近些年来,随着互联网应用的蓬勃发展,产生了海量的诸如视频、音频、图片等多媒体数据,为存储这些海量的大对象数据,涌现出一大批分布式的NOSQL存储产品。其中相当一部分为key-value结构的分布式存储系统,由于其具备较好的可扩展性,且数据结构简单,它们被众多互联网企业所应用于海量大对象数据的存储场景中,并且不少企业使用它们存储了PB乃至EB级的数据。然而,随着存储量的快速增长,人们逐渐意识到在很多互联网应用场景下,海量大对象数据的blob部分实际上存在大量的重复;比如,在社交平台中,不同的用户很可能发布相同的图片、视频等内容,这些直接造成了存储资源的快速消耗。此外,当需要将大对象数据在逻辑空间中,进行数据复制/剪切时,或是对大对象数据的meta信息部分进行修改更新时,由于涉及对blob数据的处理,表现出较为低下的性能。面对这些问题,可以在应用层面进行大量的开发工作,比如:增加重复blob值的判定,并构建、维护应用到blob值的映射关系,以达到复用blob值的目的,但这样势必造成应用层面的复杂度。此外,在海量大对象数据的去重问题上,专利《一种数据去重的方法及装置》(申请号:CN201611129751.9)相关研究,此专利提出对上传的大对象数据的blob部分进行MD5计算,进而依据MD5值判定数据库中是否存在对应的blob值,对于blob值已经存在的情形,将做放弃存储处理 ...
【技术保护点】
1.一种针对海量大对象数据的高效能存储方法,其特征在于,包括如下步骤:/n步骤1,部署与客户端通讯相连的分布式Key-Value集群,用于接收客户端上传的大对象数据,所述大对象数据的记录个体称为大对象记录,所述客户端用于计算blob值的MD5码,具体为,基于Key-Value存储引擎,做两套部署,一套为meta-cluster,一套为blob-cluster,所述meta-cluster用于存储meta信息部分,其key为大对象记录标识,其value为大对象记录的meta信息,该meta信息包括blob值对应的MD5码;所述blob-cluster包括reference-db,用于接收reference,所述blob-cluster用于存储blob值,其key为大对象记录blob值的MD5码,其value为大对象记录的blob值;/n步骤2,处理大对象记录写入场景:客户端计算blob值的MD5码,并以此MD5码向blob-cluster发起校验blob值存在性请求,以确定是否需要上传blob值;客户端向meta-cluster发起meta记录写入请求,以记录大对象记录标识到blob值的 ...
【技术特征摘要】
1.一种针对海量大对象数据的高效能存储方法,其特征在于,包括如下步骤:
步骤1,部署与客户端通讯相连的分布式Key-Value集群,用于接收客户端上传的大对象数据,所述大对象数据的记录个体称为大对象记录,所述客户端用于计算blob值的MD5码,具体为,基于Key-Value存储引擎,做两套部署,一套为meta-cluster,一套为blob-cluster,所述meta-cluster用于存储meta信息部分,其key为大对象记录标识,其value为大对象记录的meta信息,该meta信息包括blob值对应的MD5码;所述blob-cluster包括reference-db,用于接收reference,所述blob-cluster用于存储blob值,其key为大对象记录blob值的MD5码,其value为大对象记录的blob值;
步骤2,处理大对象记录写入场景:客户端计算blob值的MD5码,并以此MD5码向blob-cluster发起校验blob值存在性请求,以确定是否需要上传blob值;客户端向meta-cluster发起meta记录写入请求,以记录大对象记录标识到blob值的映射关系;meta-cluster向blob-cluster发起建立大对象记录到blob值的reference;
步骤3,处理大对象记录删除场景:客户端向meta-cluster发起删除指定的大对象记录请求,meta-cluster在删除对应的meta记录的同时,根据meta信息中包含的blob的MD5码向blob-cluster发起清除相应reference的请求;
步骤4,处理大对象记录复制场景:客户端向meta-cluster请求将指定的大对象记录复制到指定的逻辑库表中,meta-cluster根据指定的复制目标逻辑库表,构建新的大对象记录标识,并以此为key写入一条meta记录;此外,meta-cluster还需向blob-cluster请求写入新的大对象记录对应的reference;
步骤5,处理大对象记录更新场景:客户端向meta-cluster请求修改指定的大对象记录,meta-cluster根据大对象记录标识查找到对应的meta记录,并修改之;此步骤不涉及与blob-cluster的任何交互。
2.如权利要求1所述的一种针对海量大对象数据的高效能存储方法,其特征在于:所述步骤2的处理大对象记录写入场景,具体为:
步骤2-1:客户端上传大对象数据时,首先计算blob值的MD5码,并向blob-cluster发送该MD5码,用以验证待上传blob是否存在;
步骤2-2:若blob存在,则客户端只向meta-cluster发送写入大对象记录meta信息的请求,所述meta信息中包含MD5码;若blob不存在,则客户端还需向blob-cluster发送写入相应blob数据的请求,所述请求包含blob值及其MD5码;
步骤2-3:当meta-cluster接收到大对象记录的meta信息写入请求后,将以其标识为key,以其meta信息为value存储一条key-value记录;同时,meta-cluster向blob-cluster发起写入一条reference记录的请求,所述请求中包含大对象记录的标识及meta信息中的blob值的MD5码;
步骤2-4:当blob-cluster接收到大对象记录的blob信息写入请求后,将以blob对应的MD5码为key,以blob值为value写入一条blob数据记录;blob-cluster接收到refer...
【专利技术属性】
技术研发人员:梁峰,
申请(专利权)人:焦点科技股份有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。